Lecture Note: Introduction to Computing Science (COS101)

Modibbo Adama University, Yola - Faculty of Computing - Course COS101


Overview of Computing

  • The term "computer" originates from the Latin word "computare" which means to calculate.
  • Traditionally, computers were used primarily for complex computations, largely in scientific and engineering contexts and were housed in laboratories.
  • They were expensive and large, making them accessible only to large organizations.
  • Modern computers are multimedia devices capable of displaying images, sounds, and videos through operating systems and applications, allowing for unprecedented control over information.
  • The current era is termed the "computer age" characterized by rapid advancements in technology and communication.
  • Computers have become integral to everyday life, utilized for ticket reservations, bank transactions, business data processing, weather forecasting, and medical diagnoses.

Definition of Computer

  • A computer is an electronic machine that performs processes, calculations, and operations based on user-provided instructions. It can:
    • Accept data (input)
    • Process the data according to specified rules
    • Produce information (output)
    • Store information for future use
Definitions of Computer:
  1. An electronic device that processes data, converting it into useful information.
  2. An electronic machine capable of storing data, performing computations on such data, and retrieving information at high speed.
  3. An electronic device operating under stored instructions that can accept data, process according to specified rules, produce information, and retain it for future use.
  4. A programmable device for numeric calculations and logical operations without human assistance.
  5. A computing system that can be any machine that can execute instructions in the form of programs (e.g., smartphones are also computers).
  6. A problem-solving tool designed to execute applications through integrated hardware and software components.

Simple Uses of Computers

  • Calculating average student marks.
  • Preparing factory salary statements.
  • Designing buildings.
  • Calculating business taxes.
  • Computing examination results.

Advantages of Using Computers

  1. Simplification and speed in handling complex tasks.
  2. Significant information storage capabilities.
  3. Reduction of manual efforts.
  4. Efficient messaging and communication.

Basic Parts of a Computer

  1. Processor: Executes software and hardware instructions.
  2. Memory: Temporary storage for data transfer between the CPU and storage.
  3. Motherboard: Connects all components of a computer.
  4. Storage device: Permanent data storage (e.g., hard drives).
  5. Input device: Enables user input (e.g., keyboard).
  6. Output device: Displays output (e.g., monitor).

Benefits of Using a Computer

  • Increases productivity through efficient document management.
  • Connects to the Internet for communication, social media, and research.
  • Provides substantial storage capacity for various types of data.
  • Organizes information efficiently through structured files and folders.
  • Enhances language skills via spell check and grammar checks.
  • Offers entertainment through media consumption and gaming.

Real-World Applications of Computers

  • ATM Machines: Enable cash withdrawal through computer instructions.
  • Digital Currency: Maintain electronic transaction records.
  • Trading Platforms: Facilitate financial transactions in stock markets.
  • Smartphones: Function independently as portable computers.
  • VoIP Technology: Enables internet-based voice calls, e.g., Skype.
Applications in Various Fields
  • Banking: Stores and verifies customer account data, carries out transactions quickly.
  • Education: Improves research access and offers virtual classes.
  • Entertainment: Allows media creation, editing, and consumption.
  • Healthcare: Manages patient records, supports diagnoses, and aids in surgical procedures.
  • Marketing: Facilitates advertisement creation and online shopping experiences.
  • Communication: Enabled by email and instant messaging applications.
  • Sports: Used for game viewing and score tracking.
  • Military: Involves advanced technology for operations and logistics.

Capabilities and Limitations of Computers

Capabilities
  • Speed: Processes billions of actions per second.
  • Accuracy: Performs calculations with maximum precision.
  • Automatic: Completes tasks independently once initiated.
  • Storage Capacity: Handles vast amounts of information.
  • Power of Remembering: Recalls stored data accurately, regardless of time elapsed.
  • Connectivity: Links proficiently with other systems for efficient communication.
  • Diligence: Executes tasks consistently without fatigue.
  • Versatility: Solves problems across various domains.
Limitations
  • Lack of intelligence; dependent on human input.
  • Absence of emotions; judgments based solely on programming.
  • Resource constraints may lead to slow performance under heavy demands.

Basic Operations of a Computer

  1. Input Operation: Data and instructions enter via devices like keyboards.
  2. Processing Operation: Microprocessor executes instructions on the data.
  3. Storage Operation: Processed results are retained in memory.
  4. Output Operation: Results displayed on screens or printed by printers.

Definition of Computing

  • Defined as the execution of mathematical calculations, manipulating data, and decision-making through a computer.
  • Involves algorithms to solve problems efficiently, forming the basis of computing science.

Three Types of Computing

  1. Fully manual computing (using brain and fingers).
  2. Manual computing (with simple tools like an abacus).
  3. Automatic computing (using computers).
Reasons to Study Computing
  • Ubiquity in daily tasks: from smartphones to online banking.
  • Problem-solving skills applicable in various fields: big data analysis, AI, etc.
  • Career opportunities with lucrative salaries: AI, software development, data analysis.
  • Flexibility with remote work arrangements.
  • Opportunities for creativity in software design.

Major Computing Disciplines and Specializations

Computer Science
  • Study of computers' history, programming languages, networking, and database administration with real-world applications.
  • Specializations:
    1. Artificial Intelligence: Development of smart machines emulating human cognition.
    2. Software Development: Building applications and systems, both web and mobile.
    3. Data Science: Handling data management through statistical and computational methods.
    4. Cybersecurity: Protecting computer systems from unauthorized access and damage.
Information Technology (IT)
  • Encompasses all computing technologies, including networking and hardware management.
  • Specializations:
    1. Network Administration
    2. System Administration
    3. Cloud Computing
    4. IT Support
Software Engineering
  • Focuses on the design and maintenance of software systems.
  • Specializations:
    1. Frontend Development: User interface design (UI/UX).
    2. Backend Development: Server-side logic and database development.
    3. Mobile App Development: Software for iOS and Android.
Data Science and Analytics
  • Focuses on data collection, organization, and analysis.
  • Specializations:
    1. Big Data Analytics: Management of massive datasets.
    2. Business Intelligence: Using data for strategic analyses.
    3. Machine Learning: Algorithms for learning and decision-making.
Database Management
  • Involves structuring efficient storage and retrieval systems.
  • Specializations:
    1. Database Administration: Management and performance oversight.
    2. Database Development: Schema design and optimization.

History and Evolution of Computers

  • Early calculation devices (e.g., abacus) paved the way for mechanical calculators and electronic computers.
  • Significant developments include:
    • Mechanical Calculators: (e.g., Pascaline, Stepped Reckoner) enabled basic arithmetic.
    • Electromechanical Devices: (e.g., Tabulating machine) made major contributions to computational efficiency.

Notable Early Computers

DeviceFunctionType
AbacusBasic arithmetic (addition/subtraction)Mechanical
Napier's Bones (1617)Efficient multiplication with wooden stripsMechanical
Slide Rule (1622)Multiplication/division using logarithmic scalesMechanical
Pascaline (1642)Early calculator for basic operationsMechanical
Tabulating Machine (1890)Used punched cards for data processingElectro-mechanical
ENIAC (1946)First general-purpose electronic computerElectronic
IBM Personal Computer (1981)Widely successful personal computerElectronic
Smartphone (2007)Combines communication with computingModern Computer

Classification of Computers

  1. By Generation:
    • First Generation (1940-1956): Used vacuum tubes.
    • Second Generation (1956-1963): Transistors replaced vacuum tubes.
    • Third Generation (1963-1971): Integrated Circuits (ICs).
    • Fourth Generation (1971-Present): Microprocessor-based computers.
    • Fifth Generation (Present-Beyond): Based on Artificial Intelligence (AI).
  2. By Data Handling Capabilities:
    • Analog Computers: Process continuous data.
    • Digital Computers: Process discrete data using binary.
    • Hybrid Computers: Combine features of analog and digital systems.
  3. By Purpose:
    • Special Purpose Computers: Designed for specific tasks (e.g., dedicated gaming console).
    • General Purpose Computers: Versatile and programmable for a variety of tasks.
  4. By Size:
    • Supercomputers: High-performance computing for intensive tasks.
    • Mainframe Computers: Serve multiple users; high storage and performance.
    • Minicomputers: Mid-sized computers suitable for various applications.
    • Workstations: Intended for technical work, feature high performance.
  5. By Number of Users:
    • Single-user computers: Designed for one user (e.g., PCs).
    • Multi-user computers: Support multiple concurrent users (e.g., mainframes).
    • Network Computers: Systems connected for shared resources (e.g., LAN).

Major Components of a Digital Computer

  • CPU (Central Processing Unit): Primary functional component executing programs.
  • Storage:
    • Input Devices: Hardware for user data entry (e.g., keyboard, mouse).
    • Output Devices: Hardware for result display (e.g., monitor).
    • Memory: Storage for code and data, divided into types:
      • Internal Memory: Fast and temporary (registers, cache, RAM).
      • Secondary Memory: Long-term storage (HDD, SSD).
CPU Components
  1. Arithmetic Logic Unit (ALU): Executes arithmetic and logic operations.
  2. Control Unit (CU): Directs the operations of the CPU and communications with memory.
  3. Registers: Small storage units that provide fast access to frequently used data.

Computer Hardware and Software

  • Hardware: The physical components of a computer system (e.g., monitor, keyboard).
  • Software: Set of instructions that operate a computer and manage resources.
Types of Software
  1. System Software: Responsible for basic hardware management (e.g., operating systems).
  2. Application Software: Performs specific tasks for users (e.g., word processors).
  3. Programming Software: Tools for software development (e.g., compilers).

Programming Languages

  • Machine Language: Binary code consisting of zeros and ones; only understood by computers.
  • Assembly Language: Simplified syntax for programming, represents machine instructions.
  • High-Level Languages: Easier for humans to read and understand (e.g., Python, Java).
Language Translators
  1. Assembler: Translates assembly language to machine language.
  2. Compiler: Converts high-level programming language into machine code.
  3. Interpreter: Translates high-level code line-by-line during execution.

User Interface

  • Interaction layer between user and OS, divided into:
  1. Command Line Interface (CLI): Users type commands to control the system.
  2. Graphical User Interface (GUI): Visual-based interaction using icons and menus.

Data and Information

  • Data: Raw facts and figures without context.
  • Information: Processed data presented meaningfully.
Examples and Categories of Data
  • Types of Data:
    • Alphabetical: Consists of letters.
    • Numeric: Contains numbers.
    • Alpha-numeric: Combines letters and numbers.

Data Processing Cycle

  • Sequence of transforming raw data into processed information through the following stages:
  1. Collecting data.
  2. Organizing data.
  3. Combining data.
  4. Sorting data.
  5. Manipulating data.
  6. Summarizing data.

Methods of Processing Data

  1. Batch Processing: Processes data in groups, scheduled intervals, e.g., payroll.
  2. Real-Time Processing: Immediate processing of data as it occurs, e.g., online payments.

Advantages and Disadvantages of Databases

Advantages

  1. Efficient data management.
  2. Reduced redundancy.
  3. Enhanced data integrity.
  4. Improved data security.
  5. Multi-user access benefits.
  6. Privacy protection.
  7. Quick data retrieval.

Disadvantages

  1. Complexity in setup.
  2. High implementation costs.
  3. Potential performance degradation.
  4. Backup and recovery challenges.
  5. Vulnerabilities to attacks.

Internet Overview

  • Network of global interconnected systems allowing data communication among users.
  • Originally developed in 1969 as ARPANET for military purposes; now a worldwide resource.
How the Internet Works
  • Uses TCP/IP protocol for communication.
  • Clients (devices) communicate with servers (storing resources) via IP addresses.
Key Internet Applications
  1. Email: Facilitates fast communication.
  2. File Transfer Protocol (FTP): Moves files between computers.
  3. Telnet: Enables remote login to other machines.
  4. World Wide Web (WWW): Accessible via browsers, enabling multi-media navigation.
  5. Social Networking: Platforms for community interaction.

Advantages and Limitations of the Internet

Advantages
  1. Easy communication.
  2. Convenient research and information access.
  3. Educational resources availability.
  4. Fast financial transactions.
  5. Real-time updates and news access.
Limitations
  1. Promotes negative content.
  2. Health risks from overuse.
  3. Cyber crimes.
  4. Information overload potential.
Web Browsers
  • Software allowing users to access web content (e.g., Chrome, Firefox).
  • Handles text and images, providing formatted display for user interaction.
URL Structure
  • Consists of different components (e.g., domain names, top-level categories) aiding retrieval of resources.
Computer Virus Overview
  • Definition: Malicious software that disrupts computer operations.
  • Symptoms: Slow performance, pop-ups, crashes.
  • Prevention: Antivirus software, cautious downloading.
Antivirus Software
  • Protects against and removes viruses. Examples include Norton and Kaspersky.