DIT 1105 / CIT 1101: Introduction to Computers and Programming - Lesson One Notes

Introduction to Computers

  • Definition of a Computer: A computer is an electronic device that accepts data as inputs, processes it by performing arithmetic and logical operations in accordance with predefined instructions, and produces information as output to the user.
  • Operational Speed: The computer performs operations in fractions of seconds. It is described as having very high speed as it manipulates data significantly faster than human beings.
  • Accuracy: Computers are far more accurate while performing various operations compared to human beings.
  • Storage Capacity: Computers can store vast amounts of data and information. Compared to manual filing systems, computer storage occupies a very small physical space.
  • Computer Components:
    • Hardware: This consists of the physical and tangible parts of a computer, such as the monitor, keyboard, mouse, and hard disk.
    • Software: These are programs, routines, and symbolic languages that control the functioning of the hardware and direct its operations.

Historical Development of Computing

  • Definition of Computing: Computing is also referred to as processing. It involves carrying out arithmetic and logic operations on data at very high speeds.
  • Chronological Timeline of Developments:
    1. The Abacus: Used many years before Christ in China and Japan. It was a traditional calculation aid involving a system of sliding beads arranged on a rack. Early shopkeepers used it for transactions, though its importance faded with the spread of pencil and paper.
    2. Logarithms (1614): Invented by Scottish mathematician John Napier as an aid for calculation. Three years later, he invented "Napier's Bones" (a rod of bones) used for multiplication.
    3. The Slide Rule (1620): Invented by William Oughtred, an Englishman.
    4. Numerical Wheel Calculator / Pascaline (1642): Invented by Blaise Pascal to help his father, a French tax collector. It was a brass rectangular box using eight movable dials to add sums up to eight figures long. It used a base of 1010 and was limited specifically to addition and subtraction.
    5. Mechanical Multiplier (1694): Gottfried Wilhelm von Leibniz, a German mathematician and philosopher, improved the Pascaline by creating a machine that used gears and dials to perform multiplication as well.
    6. Jacquard Loom (1802): Invented by Joseph Marie Jacquard. It used punched cards to store weaving instructions, forming the conceptual basis for the programmable computer.
    7. Arithmometer (1820): Invented by Charles Xavier Thomas de Colmar. It was a machine capable of performing the four basic mathematical functions (addition, subtraction, multiplication, and division) and was used until World War I.
    8. The Analytical Engine (1822/1834): Charles Babbage, a professor of mathematics, invented a steam-powered engine that outlined the elements of a modern general-purpose computer. Though not completed in 18221822, the design evolved into the Analytical Engine, consisting of over 50,00050,000 components. It included input devices (perforated cards), operating instructions, and a "store" (memory) for 1,0001,000 numbers up to 5050 decimal digits long. Charles Babbage is known as the "Father of Computing."
    9. First Programmer: Lady Ada produced programs for Babbage’s Analytical Engine and is recognized as the first programmer.
    10. Boolean Algebra (1847-1854): George Boole discovered principles that form the basis of today’s computer logic gates.
    11. Tabulating Machine (Mid-1880s): Invented by Herman Hollerith. It used cards to store data fed into a machine to compile results mechanically. A single punch represented a number; two punches represented a letter. Up to 8080 variables could be stored on one card. Hollerith founded the Tabulating Machine Company in 18961896, which became International Business Machines (IBM) in 19241924 after mergers.
    12. World War II Strategic Developments: Governments funded computer projects for strategic importance. In 19411941, Konrad Zuse developed a computer for designing missiles and airplanes.
    13. All-Electronic Calculator (1943): Howard H. Aiken, a Harvard engineer working with IBM, created a machine to generate ballistic charts for the U.S. Navy. It was half as long as a football field, had 500500 miles of wiring, and used electromagnetic signals to move mechanical parts. It took 33 to 55 seconds per calculation and was inflexible in its sequence.
    14. ENIAC (Electronic Numerical Integrator and Computer): Developed by John Presper Eckert and John W. Mauchly. It consisted of 18,00018,000 vacuum tubes, 70,00070,000 resistors, and 55 million soldered joints. It consumed 160160 kilowatts of power.
    15. EDVAC (Electronic Discrete Variable Automatic Computer) (1945): Designed by Von Neumann. It featured a memory to hold both the stored program and data. It introduced modern computer architecture and the Central Processing Unit (CPU) for coordinating functions.
    16. UNIVAC I (Universal Automatic Computer) (1951): Built by Remington Rand, it was one of the first commercially available computers. Early computers like this used specific binary-coded programs (machine language), vacuum tubes, and magnetic drums for storage.
    17. Transistor (1948/1956): Replaced vacuum tubes in computers by 19561956, leading to commercially successful systems in business and government by the early 1960s1960s. These systems included printers, disk/tape storage, and operating systems.
    18. Integrated Circuit (1958): Developed by Jack Kilby. It combined three electronic components on a small silicon disc (quartz). Further progress led to the semiconductor chip.
    19. Large Scale Integration (1980s): Very Large Scale Integration (VLSI) squeezed hundreds of thousands of components on a chip, while Ultra-Large Scale Integration (ULSI) increased this to millions. This reduced the size and price of computers while increasing power and reliability.
    20. IBM PC (1981): Introduced for home, office, and school use. Clones of the IBM PC made computers even more affordable, leading to the development of networking and the concept of the "global village."

Classification of Computers

  • By the Type of Data They Manipulate:

    • Digital Computers: Store data in terms of digits (00 and 11) and proceed in discrete steps. Letters and words are represented digitally. They can store large quantities of data and rely on binary digits (on-off switches or magnetic markers).
    • Analogue Computers: Use electrical or mechanical phenomena to model problems. They represent physical quantities (voltage, pressure, temperature changes) and perform arithmetic/logic by measuring changes in these magnitudes.
    • Hybrid Computers: Feature directly interconnected digital and analogue elements within the same processor using interfacing circuitry. They combine the capabilities of both types but are more expensive.
  • By Purpose:

    • Special Purpose (Dedicated) Computers: Designed to operate on a restricted class of problems or carry out specific tasks in one or more applications.
    • General Purpose Computers: Capable of carrying out general data processing under program control for a variety of environments, such as word processing.
  • By Size, Price, and Capabilities:

    • Supercomputers: The largest, most expensive, and most powerful. They use multiple processors and superior technology (Parallel Processing/Von Neumann design). They can process trillions of instructions per second. Used for weather forecasting, animation in movies, and heavy government/industrial design tasks.
    • Mainframe Computers: Giant computers that process millions of instructions per second and access billions of data points. They have high memory capacity and are used by hospitals, airlines, and large corporations. They support hundreds of users and numerous peripherals.
    • Minicomputers: Mid-sized computers, smaller than mainframes but bigger than microcomputers. They support concurrent users and often serve as company servers. They are slower and cheaper than mainframes but more powerful than microcomputers.
    • Microcomputers: Based on microchip technology and Large Scale Integration. Designed for individual use (Personal Computers). Categories include:
      • Notebook Computer: Lightweight personal computer weighing less than 66 pounds. Uses flat-panel technology for non-bulky displays.
      • Desktop Computer: Independent PC designed specifically for desk use in an office or home.
      • Laptop: Portable computer with a folding screen and keyboard. Battery-operated, using LCD screens, and can mate with docking stations.
      • Palmtop: Fits in the palm. Limited in function but useful for calendars/phone books. Often called Hand-held computers or PDAs (Personal Digital Assistants) when using a pen for input. Usually lack disk drives but contain PCMCIA slots for expansion.

Computer Generations

  • First Generation (1946-1956):
    • Technology: Vacuum tubes.
    • Characteristics: High power consumption, excessive heat (overheating), massive size (occupied entire rooms).
    • Storage: Magnetic tape; very low capacity (roughly 2 kb2\,kb).
    • Speed: Measured in milliseconds (1/1,0001/1,000 of a second).
    • Examples: ENIAC, UNIVAC.
  • Second Generation (1957-1967):
    • Technology: Transistors.
    • Characteristics: Smaller, cheaper, produced less heat, lower power consumption. Introduced complex ALU/CPU, high-level languages, and system software.
    • Storage: Development of removable disk storage units.
    • Speed: Measured in microseconds (1/1,000,0001/1,000,000 of a second).
  • Third Generation (1965-1980):
    • Technology: Integrated Circuits (IC). One IC could house thousands of transistors.
    • Characteristics: Further reduction in size, heat, and maintenance complexity. Increased memory and processing power.
    • Speed: Measured in nanoseconds (1/1,000,000,0001/1,000,000,000 of a second).
    • Example: IBM 360.
  • Fourth Generation (1980s):
    • Technology: Large Scale Integration (LSI) circuits (200,000200,000 to 400,000400,000 transistors per IC).
    • Storage: Magnetic and optical discs.
    • Characteristics: Memory expanded to several MB; speed increased 1010 times compared to the previous generation. Origin of modern minicomputers.
  • Fifth Generation (1990-Current):
    • Technology: Very Large Scale Integration (VLSI) and micro-chip technology.
    • Characteristics: High focus on networking. Defined by personal computers (PCs), standalone units, and desktop computers. Relies on predictions and state-of-the-art technological refinements.

Importance and Characteristics of Computers

  • Major Use Cases:

    1. Personal/Home: Online shopping, gaming, working from home, and aiding people with disabilities.
    2. Business: Maintaining large databases, tracking resources, and facilitating remote meetings.
    3. Education: Accessing online research materials and professional correspondence.
    4. Communication: Easy global interaction.
  • Core Characteristics:

    1. Speed: Computers can perform millions (1,000,0001,000,000) of instructions per second. Speed is determined in microseconds (10−6 s10^{-6}\,s) or nanoseconds (10−9 s10^{-9}\,s).
    2. Accuracy: Calculation degree is very high; errors are typically the result of inaccurate data or human input.
    3. Diligence: Free from tiredness, lack of concentration, or fatigue. Can work for hours without errors.
    4. Versatility: Ability to perform completely different types of work (e.g., switching from payroll to inventory management).
    5. Power of Remembering: Can store and recall any amount of information for any number of years.
    6. No IQ: A computer is a "dumb machine" that requires user instructions to act. It cannot make independent decisions.
    7. No Feeling: Lack of emotion, taste, knowledge, and experience. It does not get tired or distinguish between users.
    8. Storage: Features in-built memory and secondary storage devices (e.g., floppies) for portability and external use.