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:
- An electronic device that processes data, converting it into useful information.
- An electronic machine capable of storing data, performing computations on such data, and retrieving information at high speed.
- An electronic device operating under stored instructions that can accept data, process according to specified rules, produce information, and retain it for future use.
- A programmable device for numeric calculations and logical operations without human assistance.
- A computing system that can be any machine that can execute instructions in the form of programs (e.g., smartphones are also computers).
- 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
- Simplification and speed in handling complex tasks.
- Significant information storage capabilities.
- Reduction of manual efforts.
- Efficient messaging and communication.
Basic Parts of a Computer
- Processor: Executes software and hardware instructions.
- Memory: Temporary storage for data transfer between the CPU and storage.
- Motherboard: Connects all components of a computer.
- Storage device: Permanent data storage (e.g., hard drives).
- Input device: Enables user input (e.g., keyboard).
- 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
- Input Operation: Data and instructions enter via devices like keyboards.
- Processing Operation: Microprocessor executes instructions on the data.
- Storage Operation: Processed results are retained in memory.
- 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
- Fully manual computing (using brain and fingers).
- Manual computing (with simple tools like an abacus).
- 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:
- Artificial Intelligence: Development of smart machines emulating human cognition.
- Software Development: Building applications and systems, both web and mobile.
- Data Science: Handling data management through statistical and computational methods.
- Cybersecurity: Protecting computer systems from unauthorized access and damage.
- Encompasses all computing technologies, including networking and hardware management.
- Specializations:
- Network Administration
- System Administration
- Cloud Computing
- IT Support
Software Engineering
- Focuses on the design and maintenance of software systems.
- Specializations:
- Frontend Development: User interface design (UI/UX).
- Backend Development: Server-side logic and database development.
- Mobile App Development: Software for iOS and Android.
Data Science and Analytics
- Focuses on data collection, organization, and analysis.
- Specializations:
- Big Data Analytics: Management of massive datasets.
- Business Intelligence: Using data for strategic analyses.
- Machine Learning: Algorithms for learning and decision-making.
Database Management
- Involves structuring efficient storage and retrieval systems.
- Specializations:
- Database Administration: Management and performance oversight.
- 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
| Device | Function | Type |
|---|
| Abacus | Basic arithmetic (addition/subtraction) | Mechanical |
| Napier's Bones (1617) | Efficient multiplication with wooden strips | Mechanical |
| Slide Rule (1622) | Multiplication/division using logarithmic scales | Mechanical |
| Pascaline (1642) | Early calculator for basic operations | Mechanical |
| Tabulating Machine (1890) | Used punched cards for data processing | Electro-mechanical |
| ENIAC (1946) | First general-purpose electronic computer | Electronic |
| IBM Personal Computer (1981) | Widely successful personal computer | Electronic |
| Smartphone (2007) | Combines communication with computing | Modern Computer |
Classification of Computers
- 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).
- 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.
- 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.
- 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.
- 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
- Arithmetic Logic Unit (ALU): Executes arithmetic and logic operations.
- Control Unit (CU): Directs the operations of the CPU and communications with memory.
- 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
- System Software: Responsible for basic hardware management (e.g., operating systems).
- Application Software: Performs specific tasks for users (e.g., word processors).
- 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
- Assembler: Translates assembly language to machine language.
- Compiler: Converts high-level programming language into machine code.
- Interpreter: Translates high-level code line-by-line during execution.
User Interface
- Interaction layer between user and OS, divided into:
- Command Line Interface (CLI): Users type commands to control the system.
- Graphical User Interface (GUI): Visual-based interaction using icons and menus.
- 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:
- Collecting data.
- Organizing data.
- Combining data.
- Sorting data.
- Manipulating data.
- Summarizing data.
Methods of Processing Data
- Batch Processing: Processes data in groups, scheduled intervals, e.g., payroll.
- Real-Time Processing: Immediate processing of data as it occurs, e.g., online payments.
Advantages and Disadvantages of Databases
Advantages
- Efficient data management.
- Reduced redundancy.
- Enhanced data integrity.
- Improved data security.
- Multi-user access benefits.
- Privacy protection.
- Quick data retrieval.
Disadvantages
- Complexity in setup.
- High implementation costs.
- Potential performance degradation.
- Backup and recovery challenges.
- 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
- Email: Facilitates fast communication.
- File Transfer Protocol (FTP): Moves files between computers.
- Telnet: Enables remote login to other machines.
- World Wide Web (WWW): Accessible via browsers, enabling multi-media navigation.
- Social Networking: Platforms for community interaction.
Advantages and Limitations of the Internet
Advantages
- Easy communication.
- Convenient research and information access.
- Educational resources availability.
- Fast financial transactions.
- Real-time updates and news access.
Limitations
- Promotes negative content.
- Health risks from overuse.
- Cyber crimes.
- 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.