COMP101: Introduction to Computing Exhaustive Study Notes

Course Overview and Institutional Framework

Fundamentals and Scope of Computing

  • Definitions of Computing:

    • Computing is the process of using computer technology to complete a given goal-oriented task.

    • It encompasses the design and development of software and hardware systems for a broad range of purposes, often structuring, processing, and managing any kind of information.

    • It serves to aid in the pursuit of scientific studies, the creation of intelligent systems, and the production and utilization of different media for entertainment and communication.

    • From an engineering science perspective, computing is defined as the systematic study of algorithmic processes used to describe and transform information.

  • Contextual Domains and Sub-Fields:

    • Computing possesses specific meanings depending on the context and specialized field in which it is applied.

    • Major specialized applications falling under the general umbrella of computing include:

      • Cloud computing

      • Social computing

      • Ubiquitous computing

      • Parallel computing

      • Grid computing

Conceptual Definition of a Computer

  • Core Technical Definitions:

    • Computer is defined as a programmable electronic device that stores, retrieves, and processes data. It is a device or machine used for making calculations or controlling operations that are expressible in numerical or logical terms.

Historical Evolution of Computing Devices

  • The Abacus:

    • Etymology and Origin: Greek word abax, meaning "tabular form." Invented in ancient Babylon between 300 BC300\text{ BC} and 500 BC500\text{ BC}.

    • Significance: Recognized as the first counting machine.

    • Geographic Reach: Historically utilized across Europe, China, and Russia.

    • Physical Architecture:

      • Constructed as an instrument to calculate or count by using sliding counters along vertical rods.

      • A horizontal crossbar running perpendicular to the vertical rods divides them into unequal sections.

      • Heaven Beads: The beads positioned above the horizontal crossbar.

      • Earth Beads: The beads positioned below the horizontal crossbar.

    • Function: Used primarily for executing basic arithmetic operations.

  • The Pascaline:

    • Invented by a French matheimatician-philosopher
      Blaise Pascal : Designed and constructed by the 16421642 and 16441644.

    • Operational Purpose: Built as one of the first gear-based adding machines to assist with the substantial manual calculations required for tax computing.

    • Functional Limitations: Restricted strictly to addition and subtraction operations, executed by physically manipulating its mechanical dials.

  • The Difference Engine:

    • Inventor and Timeline: Unveiled in 18221822 by the English mathematician Charles Babbage (1792–18711792\text{--}1871).

    • Mechanical Structure: Represented the initial phase of his envisioned calculating machine, utilizing ten-position gears to represent decimal digits.

    • Project Outcome: Babbage ultimately abandoned the project due to the extreme complexity of its engineering alongside other compounding factors.

  • Vacuum Tubes:

    • Development: Developed by John Ambrose Fleming in 19041904; alternatively termed an electron tube or valve.

    • Physical Construction: A glass tube from which internal gas has been completely evacuated to create a vacuum, containing internal electrodes to control the flow of electrons.

    • Computing Utility: Served in early computers as an electronic switch or amplifier, allowing systems to transition away from mechanical switching and significantly accelerating the speed of electronic current state switching.

    • Wider Industry Applications: Extensively deployed across radios, televisions, radar equipment, and telephone networks during the first half of the 1900s1900\text{s}.

  • Colossus:

    • Engineering Timeline: Designed and constructed over an eleven-month period by Tommy Flowers at the Post Office Research Station in Dollis Hill, Northwest London.

    • Deployment and Assembly: Following successful functional testing, Colossus Mk 1 was delivered to Bletchley Park in late December 19431943 / January 19441944.

    • Assembly Personnel: Assembled on-site by Harry Fensom and Don Horwood, becoming fully operational in early February 1944.ENIAC(ElectronicNumericalIntegratorandComputer)1944.ENIAC(ElectronicNumericalIntegratorandComputer) by physicist John Mauchly to address the U.S. Army's need to calculate complex wartime ballistics tables.\n * **Construction Timeline**: Built between 1943andand1945$.

    • Operational Milestone: Recognized as the first large-scale computer to operate at electronic speeds without being hindered by mechanical moving parts.

    • Computational Output: Over its decade-long operational life (which ended due to a lightning strike in 19551955), ENIAC may have executed more total calculations than all of humanity had performed up to that point.

  • EDVAC (Electronic Discrete Variable Automatic Computer):

    • Historical Significance: Designed in 19441944, constructed in the 1940s1940\text{s}, and installed at the U.S. Army's Ballistics Research Laboratory in Maryland in August of 19401940.

    • Binary Architecture: Stood as one of the earliest large mainframe computers and was the first mainframe to represent numbers using binary systems rather than decimal systems.

    • Technical Specifications:

      • Operated as a binary serial computer.

      • Featured a serial memory capacity of approximately 5.5 kB5.5\text{ kB}.

      • Utilized magnetic tape as its primary data medium.

      • Demonstrated high operational reliability, running continuously for over 20 hours20\text{ hours} per day.

  • EDSAC (Electronic Delay Storage Automatic Calculator):

    • Development: Created at Cambridge University in Britain, running its first functional programs in 1949$.\n * **Historical Milestone**: Became the first stored-program computer in regular operational use, marking the shift of computing from an experimental test to a functional tool.\n * **Memory Architecture**: Utilized mercury delay line memory (a technology originally developed for radar displays that provided memory storage for many first-generation computing systems).\n\n* **UNIVAC 1 (Universal Automatic Computer)**:\n * **Creators**: Achieved as a major technological milestone by Dr. Presper Eckert and Dr. John Mauchly.\n * **Execution Speeds**:\n * **Add time**: 120 ext{ } ext{microseconds}\n * **Multiply time**: 1,800 ext{ } ext{microseconds}\n * **Divide time**: 3,600 ext{ } ext{microseconds}$$

Core Characteristics of Computers

  • Speed: Computes and processes operations at extremely high velocities.

  • Storage: Maintains the capacity to store vast quantities of data.

  • Accuracy: Delivers extremely high precision and correctness in output results.

  • Versatility: Capable of executing diverse tasks ranging from simple calculations to complex operations.

  • Automation: Operates autonomously to execute complex sequences of instructions across different programs once programmed.

  • Diligence: Exhibits constant and earnest effort in application, performing operations continuously without degradation from fatigue or lack of concentration.

Computer System Hardware Categories

  • Definition: Hardware constitutes the physical, tangible parts of a computer system.

  • Input Devices:

    • Function: Used to feed raw data into the system, generating input signals and allowing users to enter text, images, and audiovisual content, as well as enabling file transfers between machines.

  • Processing Devices:

    • Function: Performs the core processing task of transforming raw data instructions into meaningful information for practical application.

    • Key Hardware Examples:

      • Central Processing Unit (CPU)

      • Graphical Processing Unit (GPU)

      • Microprocessor

      • Sound Card

      • Video Card

  • Output Devices:

    • Function: Disseminates data and presents the final processed information to users in human-understandable formats (visual, textual, soft copy, hard copy, audio, video).

    • Key Hardware Examples:

      • Printer

      • Monitor

      • Projector

      • Plotter

      • DVD or CD-ROM

      • Headphones

      • Sound Card

      • Braille Reader

  • Memory / Storage Devices:

    • Function: Retains data and information for short-term operations or long-term storage.

    • Primary Memory:

      • Refers mainly to Random-Access Memory (RAM) and all memory working in direct synchronization with the microprocessor.

      • Volatile: Retains data only while the system remains powered up.

    • Secondary Memory:

      • Encompasses media such as disk drives used for long-term retention.

      • Non-Volatile: Retains stored data permanently without requiring continuous electrical power.

      • Indirect Microprocessor Interaction: Data stored on secondary media does not communicate directly with the microprocessor; it must first be transferred into RAM before processing can occur.

Computer System Software Classification

  • Definition: Computer software is an intangible set of data, programs, directives, and attestation that performs predetermined operations, enabling users to interact with hardware systems.

  • Architectural Features:

    • Software interacts closely with the operating system, which functions as the primary software layer.

    • Written using high-level programming languages that provide abstract, flexible expressions closer to natural human languages than machine language.

  • System Software:

    • Function: Controls the internal operational mechanics of the computer primarily through the Operating System (OS) and manages peripheral hardware (monitors, printers, storage units).

    • Execution: Operates continuously in the background to handle basic low-level functions, allowing users to run high-level application software.

    • Key Components:

      • Operating System (OS)

      • Device Driver

      • Firmware

      • Programming Language Translator

  • Utility Software:

    • Function: A specialized branch of system software that carries out targeted maintenance tasks to preserve ongoing system operational efficiency.

    • Execution: Operates continuously in the system background.

    • Security Programs: Includes antivirus applications that scan for and eliminate computer viruses (either pre-installed or user-installed).

    • Optimization Programs: Includes disk defragmentation tools, system clean-up applications, and file compression utilities (typically built into the OS with direct hard drive access to maintain storage hygiene).

  • Application Software:

    • Function: Known as end-user or productivity programs, operating above the system software layer to assist users in completing specific tasks.

    • User Workflows: Used for online research, setting alarm clocks, graphic design, account authentication, and mathematical calculations.

    • Key Categories:

      • Word Processors

      • Database Software

      • Multimedia Software

      • Educational and Reference Software

      • Web Browsers

Academic Literature and References

  • Denning, P. J., & Martell, C. H. (2015). Great principles of computing. MIT Press.

  • Friedman, T. L. (2006). The world is flat: A brief history of the twenty-first century (Updated and expanded ed.). Farrar, Straus and Giroux.

  • Morley, D., & Parker, C. S. (2014). Understanding computers: Today and tomorrow (15th ed.). Cengage Learning.

  • Pressman, R. S., & Maxim, B. R. (2014). Software engineering: A practitioner's approach (8th ed.). McGraw-Hill Education.

  • Randell, B. (1982). The Colossus. Annals of the History of Computing, 5(3), 78–88.

  • Reynolds, G. W. (2018). Ethics in information technology (6th ed.). Cengage Learning.

  • Sebesta, R. W. (2012). Concepts of programming languages (10th ed.). Pearson.

  • Stern, N. (1981). From ENIAC to UNIVAC: An appraisal of the Eckert-Mauchly computers. Digital Press.

  • Vahid, F., & Lysecky, S. (2016). Introduction to computing systems: From bits and gates to C and beyond (2nd ed.). McGraw-Hill Education.

  • Williams, M. R. (1997). A history of computing technology (2nd ed.). IEEE Computer Society Press.