C(M)PE 101 Introduction to Computing Introduction Computers in our lives Can you name a business field that does not use computing systems at all? We live in an age of technology and a life without computers is unthinkable now. What is computer? A computer is an electronic device that performs the four basic operations that comprise the information processing cycle. (IPOS): Input, Processing, Output, and Storage IPOS Cycle Input: The action of entering data. Processing: The manipulation of the input data. Output: The display of the information. Storage: The action of saving information for temporary or permanent usage. Computer systems Computer Systems are a variety of digital devices (not necessarily personal computers) that are setup in a way to communicate and perform tasks. A computer system consists of : 1) Hardware 2) Software 3) Data 4) User Hardware Hardware refers to electronic and mechanical parts of the computer. The term hardware refers not only to the internal parts of the computer but also its external parts. The internal parts of the computer are called system units. These are the essential parts needed for a computer system to run. The external part of the computer are called peripheral devices. These can be added to a computer system to expand what a computer can do. Software Software is a computer program that tells the computer how to perform tasks. There are many categories of software available for computers and computer systems. Generally however, these categories are over-simplified into two main titles as system software and application software. Data Data consist of individual facts or pieces of information A computer’s primary job is to process these tiny pieces of data and convert them to useful information. This task is called processing. User Users are people who use computer systems. Using all its parts together, a computer converts data into information by performing various actions on data. The users enter the data and receives the processed information as output. History of Computers Computers, then and now Pre-Computers and Early Computers (before 1945) First Generation - (1946-1957) Second Generation - (1958-1963) Third Generation - (1964-1970) Fourth Generation - (1971-near past) Fifth Generation - (Now) Sixth Generation – (the future) Pre-Computers and Early Computers The Abacus was among the earliest counting devices. Believed to be invented by the Babylonians between 500 B.C. and 100 B.C. Gear-based machines (1600s-1800s) Positions of gears represent numbers Pre-Computers and Early Computers Dr. Herman Hollerith’s Punch Card Tabulating Machine and Sorter is an example of an early computing device and was used to process the 1890 U.S. Census. First Generation Computers First-generation computers were large and bulky, used vacuum tubes, and had to be physically wired and reset to run programs. ENIAC (Electronic Numerical Integrator And Computer) was the first electronic generalpurpose computer. ENIAC Second Generation Computers Second-generation computers, such as the IBM System/360, used transistors instead of vacuum tubes and were smaller, faster, and more reliable. Third Generation Computers The integrated circuit marked the beginning of this generation allowing for smaller computers, like the DEC PDP-8, the first commercially successful minicomputer. Fourth Generation Computers Fourth-generation computers, like the original IBM PC shown here, are based on microprocessors. Earlier computers fall into this category. In 1981 IBM introduced its first computer for the home user, and in 1984 Apple introduced the Macintosh. Fifth Generation Computers Computers we use today fall into this category Sixth Generation Computers Artificial Intelligence (AI) is the future generation of computers. Computer Hardware Fundamentals Any device that has four basic functionality of a computer can be regarded as a computer system. In this case, remember that your smartphone and your tablet devices are also computer system. The four basic functionality of a computer system are: input, processing, output and storage. Computer Hardware (1) Monitor (output) Processor Speaker (output) Mouse (input) Keyboard (input) Computer Hardware (2) Processor Speaker (output) Touch Screen (input & output) Microphone (input) Computer Hardware (3) Processor Microphone (input) Speaker (output) Touch Screen (input & output) Computer Hardware (4) Touch Screen (input & output) Keyboard (input) Mouse (input) System Unit vs Peripheral devices The hardware that are essential for the computer to run are called System Units. These include Central Processing Unit (CPU), Arithmetic Logic Unit (ALU) and related microchips and micro-circuitry. Other hardware that can be plugged into the motherboard of the computer are called peripheral devices. These include but not limited to keyboard, mouse, speakers and digital cameras. Motherboard The motherboard is the physical foundation of computers and computer systems. A motherboard provides the electrical connections by which the other components of the system communicate. A typical desktop computer has its microprocessor, main memory, peripheral devices and other essential components connected to the motherboard Components of Motherboard The following components are attached to the motherboard: Microprocessor sockets (one or more CPU) Support Electronic Circuitry (Power Supply) Memory Chips (RAM, ROM, Cache Memory) A clock generator (for system clock signal to synchronize various components) Buses Slots for expansion cards (interface to system via bus support) Connectors (for hard drivers) Power Connectors (to receive electrical power from power supply) Computer Software Fundamentals The software is the information that the computer uses to get the job done. Depending on the platform, there are many terms used for process of accessing software : running, executing, starting up, opening, and others. Computer programs allow users to complete tasks. A program can also be referred to as an application (app) and the two words can be used interchangeably. Computer Software If we oversimplify, there are two major categories of software: 1. System Software – depends on hardware 2. Application Software – depends on system software Can you give examples to both? The Role of Algorithm The most fundamental concept of CS is an algorithm. An algorithm is a set of steps that define how a task is performed. A representation of an algorithm in a specific programming language is called a program. The process of developing a program, encoding it in machine-compatible form, is called programming. Bits and Data Storage Inside Today’s computer systems, information is encoded as patterns of 0s and 1s. These digits are bits (short for binary digits). Although you may be inclined to associate bits with numeric values, they are only symbols whose meaning depends on the application at hand. The bits are used to represent information on any form on the computer; they can be used to represent a numeric value or a character in an alphabet or even sometimes images or sound! Regardless of data type, bits are used to represent the data in temporary and permanent storage. Boolean Operations To understand how individual bits are stored and manipulated inside a computer system, it is convenient to assume that 0 represents the value false, and the bit 1 represents the value true. Operations that manipulate true/false values are called Boolean Operations. The fundamental Boolean operations are AND, OR and XOR (exclusive or). AND, OR, XOR The Boolean operation AND, OR, XOR is designed to reflect the truth or falseness of a statement formed by combining two smaller, or simpler, statements. Assuming you have two different values, P and Q; P AND Q is true (1) only when both of its input components are true P OR Q is true (1) only when any or all of its input components are true P XOR Q is true(1) only when its input components are opposite to one another (i.e. different). Gates A device that produces the output of a Boolean operation when given the operation’s input values is called a gate. Gates are the building blocks that show how computer systems store and transfer bit data. Gates are represented distinctively shaped diagrams, within the input values entering on one side and the output existing on the other. Each Boolean operation is represented with a different shape on Gate diagrams. In today’s computer systems, gates are implemented as small electronic circuits in which the digits 0 and 1 are represented as voltage levels. Gates: AND, OR, XOR, NOT output x x y y output OR AND x output y output x NO T XOR Inputs Output x y x AND y x OR y x XOR y NOT x 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 Sequential Circuit x y z Sequential Circuits are formed of the combination of gates. In a realistic circuit, two or more gates come together to form a circuitry. Sequential Circuit Exercise Given the values x=1, y = 0 and z =1; what will be the output of the sequential circuit? 1 0 1 Sequential Exercise Solution 1 0 1 1 0 0 The output is 0 Video Material Evolution of Computers Transistors