CSC 111 Introduction to Computer Science PDF
Document Details
Uploaded by WellBalancedDeciduousForest
Covenant University
Tags
Summary
This document provides an introduction to computer science, covering the definition of the field and its history. It details the key sub-fields of theoretical and applied computer science, along with examples of programming languages.
Full Transcript
CSC 111 Introduction to Computer Science Definition of Computer Science History from Mechanical to Multimedia Computers Learning Objectives Understand computer science and its sub-fields Explore the generation of computers from mechanical to multimedia Exp...
CSC 111 Introduction to Computer Science Definition of Computer Science History from Mechanical to Multimedia Computers Learning Objectives Understand computer science and its sub-fields Explore the generation of computers from mechanical to multimedia Explore the components of a computer (software & hardware) 2 What is Computer Science Computer science is the study of computers and computational systems. It is a broad field which includes everything from the algorithms that make up software to how software interacts with hardware and how well software is developed and designed. Computer scientists use various mathematical algorithms, coding procedures, and their expert programming skills to study computer processes and develop new software and systems. 3 Sub-fields of Computer Science Computer science can be classified into two major categories: Theoretical Computer Science Applied Computer Science 4 1. Theoretical Computer Science Theoretical Computer Science can be divided into three sub groups Theory of Computation Algorithms and Data Structures Programming Language Theory 5 1. Theoretical Computer Science (Cont.) Theory of Computation: Focuses on answering fundamental questions about what can be computed and what amount of resources are required to perform those computations. Computational complexity theory deals with the resources required during computation to solve a given problem. It includes the studies of time, space and cost associated with different approaches to solving a computational problem. 6 1. Theoretical Computer Science (Cont.) Algorithms and Data Structures is the study of commonly used computational methods and their computational efficiency. An algorithm is a set of steps that defines how a task is performed. A representation of an algorithm is called a program. The process of developing a program, encoding it in machine-compatible form, and inserting it into a machine is called programming. Programs, and the algorithms they represent, are referred to as software. 7 1. Theoretical Computer Science (Cont.) Data Structure is a particular way of organizing data in a computer so that it can be used efficiently. Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. These are stack, queue, sorted list tree and graph. 8 1. Theoretical Computer Science (Cont.) 9 1. Theoretical Computer Science (Cont.) Programming Language Theory This deals with the design, implementation, analysis, characterization and classification of programming languages and their individual features. Programming Language Theory divided into three sub-fields, this include: Formal Semantics Compiler Design Comparative Language Analysis 10 Examples of Programming Languages and their Features 11 2. Applied Computer Science Applied Computer Science can be categorize into the following: Computer Architecture Artificial Intelligence Computational Science Computer Networks Software Engineering 12 2. Applied Computer Science (Cont.) Computer Architecture is a blueprint for design and implementation of a computer system. It provides the functional details and behaviour of a computer system. It Focuses largely on the way by which the central processing unit performs internally and accesses addresses in memory. 13 2. Applied Computer Science (Cont.) Artificial Intelligence (AI) is the science of making machines that can think like humans. It can do things that are considered as being smart. AI technology can process large amounts of data in many ways unlike humans. The goal for AI is to be able to do things such as recognize patterns, make decisions, and judge like humans. 14 2. Applied Computer Science (Cont.) Computational Science this can also be referred to as scientific computing technical computing or scientific computation. It is a division of science that uses advanced computing capabilities to understand and solve complex physical problems. 15 2. Applied Computer Science (Cont.) Computer networks is a system that connects two or more computing devices for the purpose of transmitting and sharing information. Computing devices include everything from a mobile phone to a server. These devices are connected using physical cables (wires) or via wireless connection (WIFI) 16 2. Applied Computer Science (Cont.) Software Engineering is the branch of computer science that deals with the design, development, testing and maintenance of software applications. Software engineers apply engineering principles and knowledge of programming languages to build software solutions for end users. 17 HISTORY OF COMPUTER The repetitive process of computation were boring. People were performing the same tasks everyday and so there was need to invent a kind of machine to aid their numerous daily computational requirements. The history of computer has its roots in ancient China. Then they invented a machine called the Abacus in about 500BC It was used in the early Greek and Roman civilizations. 18 History of Computer (Cont.) The machine was simple, consisting of beads strung on rods that are in turn mounted in a rectangular frame as seen in figure 1 As the beads are moved back and forth on the rods, their positions represent stored values. Also called a counting frame, it is a calculating tool. Although some indications argue on its invention by the Babylonians in 300 BC, it was used as one of the most primitive calculators. 19 History of Computer (Cont.) Advantages and Limitations of Abacus Advantage It aids the memory of the human performing calculation Disadvantage Relies on human operator for the control of algorithm It is only fast with addition and subtraction Figure 1: abacus machine 20 History of Computer (Cont.) Thereafter, there was need for more sophisticated computing machines. Then some inventors began to experiment with the gears technology. Among these inventors were Blaise Pascal (1623–1662), Gottfried Wilhelm Leibniz (1646–1716) and Charles Babbage (1792–1871). These gears machines were mechanical in their mode of operation. Pascal and Leibniz invented a machine that is operated by observing the final gear positions. 21 History of Computer (Cont.) Pascal’s machine was built to perform only addition and sequence of steps was embedded into the structure of the machine. Leibniz’s machine had its algorithms firmly embedded in its architecture, although it offered a variety of arithmetic operations from which the operator could select Charles Babbage, invented a machines called the Difference (Analytic) Engine. This machine can perform variety of calculations and can also print results of computations on paper. 22 History of Computer (Cont.) Babbage Analytical Engine was also designed to read instructions in the form of holes in paper cards hence his machine was programmable. Augusta Ada Byron (Ada Lovelace), published a paper in which she demonstrated how Babbage’s Analytical Engine could be programmed to perform various computations, hence she was recognised as the world’s first programmer. Joseph Jacquard in1801, developed a machine called the weaving loom. 23 History of Computer (Cont.) The algorithm to be performed during the weaving process were determined by patterns of holes in large thick cards made of wood (cardboard). At this stage, the algorithm that is used by the loom could be changed to produce different woven designs. Herman Hollerith who applied the concept of representing information as holes in paper cards (punched cards) to speed up the tabulation process in the 1890 U.S. census. 24 History of Computer (Cont.) Hollerith invention led to the creation of IBM. Then punched cards the only means of communicating with computers in the 1970s. In the early 1900s, of George Stibitz, started working on the electromechanical machine which he completed in 1940 at Bell Laboratories. In 1944, Howard Aiken and a group of IBM engineers invented the electromechanical machine at Harvard University called Mark I. 25 History of Computer (Cont.) Mark I is made use of electronically controlled mechanical relays as shown in figure 2. The invention of vacuum tube technology between 1937 to 1941 which was mainly electronic computers made Mark 1 to phase out. Figure 2: Mark I: An electro-mechanical computer 26 History of Computer (Cont.) The first electronic machines was invented by John Atanasoff and Clifford Berry at Iowa State University. Thereafter, another machine called Colossus was invented by Tommy Flowers in England. Colossus was used for decoding German language during the concluding part of World War II. 27 History of Computer (Cont.) Colossus was not allowed to become part of the computer family today, due to military information and issues of national security during the World War II. Electronic Numerical Integrator and Calculator (ENIAC) was developed by John Mauchly and J. Presper Eckert at the Moore School of Electrical Engineering, at the University of Pennsylvania. As technology continued to evolve, then the invention of transistors and complete circuits constructed as single units, called integrated circuits. 28 History of Computer (Cont.) Hence, the room-sized machines of the 1940s were reduced over the decades to the size of a single cabinets. At the same time, the processing speed of the computer began to double every two years till date. As advance on integrated circuit progressed, many of the circuits within a computer became readily available on the open market as integrated circuits encased in toy-sized blocks of plastic called chips. 29 History of Computer (Cont.) In 1976, Steve Jobs and Stephen Wozniak developed the desktop computers by combining chips This made the computer to be more popular, but were not widely accepted by the business community, because the desktop could not meet their business needs. 30 History of Computer (Cont.) In 1981, IBM introduced its first desktop computer, called the personal computer or PC, whose underlying software was developed by a company known as Microsoft. The PC was an instant success and legitimized the desktop computer as an established commodity in the minds of the business community. 31 History of Computer (Cont.) The ability to connect individual computers in a world-wide system called the Internet was revolutionized in the twentieth century. Then Tim Berners-Lee proposed a system by which documents stored on computers throughout the Internet could be linked together producing a maze of linked information called the World Wide Web To make the information on the Web accessible, software systems, called search engines, were developed to go through the Web, by categorizing their findings, and then use the results to assist users in research of information. 32