01-Introduction to Computers
Chapter 1 – Introduction to Computers and C Programming
1.1 Introduction
Overview of key concepts in computers and C programming.
1.2 Computers and the Internet
Examples of Computers:
Desktop Computer
Notebook (Laptop)
Workstation
Mini Computer
Super Computer
Smartphone
Tablet
Digital Camera
1.3 Hardware and Software
Definition: Computers are controlled by sets of instructions called computer programs, which process data.
Software: Programs that execute on the computer.
Hardware: Physical components including:
Input Devices: Keyboard, mouse, scanner
Output Devices: Monitor, printer
Storage Devices: Hard drives, DVDs, RAM
Moore's Law: The observation that the number of transistors on a chip doubles approximately every two years.
1.4 Data Hierarchy
Definition: Classifies data according to its level of organization.
Bit: Basic unit of data (0 or 1)
Byte: 8 bits, represents a character
KiloByte (KB): 1024 Bytes
MegaByte (MB): 1024 KB
GigaByte (GB): 1024 MB
TeraByte (TB): 1024 GB
1.5 Programming Languages
Overview of programming languages:
Low-Level Languages: Machine language (direct execution by CPU), Assembly language (human-readable representation of machine language).
High-Level Languages: More user-friendly syntax (e.g., C, C++, Python).
Examples of Programming Paradigms:
Functional, Object-oriented, Scripting.
1.6 C Programming Language
History: Developed by Dennis Ritchie in the early 1970s.
Standardization: ANSI C (1989) and revised C99 (1999) established standardization protocols across multiple platforms.
1.7 C Standard Library
Contains pre-written functions for common tasks:
Input/output operations
Mathematical computations
1.8 C++
Developed by Bjarne Stroustrup as an extension of C to include object-oriented features.
1.10 Typical C Program Development Environment
Stages of Program Development:
Edit: Write source code.
Preprocess: Prepare the code for compilation.
Compile: Convert source code into object code.
Link: Combine object code into an executable file.
Load: Transfer executable to memory.
Execute: Run the program.
1.12 Operating Systems (OS)
Definition: Software that manages computer hardware and software resources.
Examples of OS:
Windows (various versions)
macOS (Apple products)
Linux (open-source alternatives)
iOS (Apple mobile devices)
Android (Google mobile OS)
1.14 Software Development Terminology
Key terms related to software development processes and workflow.
1.15 Keeping up-to-date with Information Technologies
Importance of continuous learning and staying informed on technological advancements.
1.16 Web Resources
Utilizing online resources for help and information in a fast-evolving tech landscape.