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:

    1. Edit: Write source code.

    2. Preprocess: Prepare the code for compilation.

    3. Compile: Convert source code into object code.

    4. Link: Combine object code into an executable file.

    5. Load: Transfer executable to memory.

    6. 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.