CONE LU 2

A computer is a complex machine that:

  • Accepts data as input, allowing users to enter various forms of information through different input devices.

  • Processes data using stored instructions, applying algorithms and executing various operations as per the programmed logic.

  • Outputs information in various formats, such as visual displays on monitors, printed documents, or through audio signals.

Instructions or programs are detailed step-by-step directions for performing tasks in a specific programming language that the computer can interpret and execute.

Program Structure
  1. Identify tasks: Define concrete objectives that the software needs to accomplish.

  2. Plan methods: Devise detailed strategies and workflows to perform each task efficiently.

  3. Select programming language: Choose an appropriate language based on the task requirements, platform compatibility, and developer proficiency.

Source code, the human-readable instructions, must be translated into object code (binary) through compilation or interpretation to be executed by the computer's CPU.

Computer Components
  • Hardware: Physical devices that comprise the computer system, including internal components like the motherboard, and external peripherals like printers.

  • Software: Programs and applications on the computer that perform specific functions and tasks, including operating systems which serve as a bridge between hardware and user applications.

Input Devices

  • Keyboard: A device used for typing text and commands.

  • Mouse: A pointing device used to interact with graphical user interfaces.

  • Scanner: A device that converts physical documents into digital format.

Output Devices

  • Monitors: Display screens that show the visual output from the computer.

  • Printers: Devices that produce hard copies of documents and images.

CPU Components

  • ALU (Arithmetic Logic Unit): Performs arithmetic calculations (addition, subtraction, etc.) and logical operations (comparisons, conditional operations).

  • Control Unit: Orchestrates the operations of the CPU by directing the flow of data between the processor, memory, and input/output devices, ensuring that instructions are executed in sequence.

Memory Types
  • Main Memory (RAM): Temporary storage that holds data and instructions currently being used by the CPU, allowing for quick read and write access.

  • Secondary Storage: Non-volatile storage that retains data even when powered off, including hard drives and solid-state drives (SSDs).

  • Cache: Small, high-speed memory located close to the CPU that stores frequently accessed data and instructions, significantly speeding up processing time.

Computer Generations
  1. 1st Generation: Used vacuum tubes for circuitry and magnetic drums for memory.

  2. 2nd Generation: Introduced transistors, which were smaller, more energy-efficient, and more reliable than vacuum tubes.

  3. 3rd Generation: Featured integrated circuits, allowing thousands of transistors to be placed on a single chip.

  4. 4th Generation: Involved miniaturization of technology, leading to personal computers, and advancements in microprocessors.

  5. 5th Generation: Focuses on parallel processing, artificial intelligence, and optical technologies, enhancing computational power and performance.

Computer Software Types
  • System Software: Background programs that manage hardware and software resources, including the operating system (OS), such as Windows, macOS, and Linux.

  • Application Software: Performs specific tasks for users, including software suites like Microsoft Office and creative applications like Adobe Photoshop.

Computer Languages
  1. 1st Generation: Machine language, consisting of binary codes directly understood by the computer's CPU.

  2. 2nd Generation: Assembly language, using symbolic codes and mnemonics for easier programming.

  3. 3rd Generation: High-Level Languages (e.g., Python, C, Java), which are easier to write and read, requiring compilation or interpretation to execute.

  4. 4th Generation: Object-Oriented Programming languages (e.g., C++, Java, Visual Basic), focusing on objects and classes to promote modular design and code reuse.

  5. 5th Generation: Database-Oriented Languages (e.g., SQL), focusing on database management and complex queries to manipulate and retrieve data effectively.

Computer Performance Factors
  • Speed: Measured in milliseconds, microseconds, and nanoseconds, indicating how quickly a computer can process data.

  • Accuracy: The precision of the results generated by the computer, critical for applications requiring high reliability, such as financial computations.

  • Storage Capabilities: The capacity of a computer to store data, influenced by the amount of RAM, cache, and secondary storage available.

Memory Devices
  • Main (Volatile) Memory: Includes RAM and cache, which lose their contents when the power is turned off.

  • Secondary (Non-Volatile) Storage: Such as SSDs, USB drives, and cloud storage, retain data even after the power is off, allowing for long-term data preservation.

Classifications of Computers
  • Types: Personal computers (PCs), mainframes (large, powerful systems used by organizations), and supercomputers (extremely fast and powerful systems used for complex computations).

  • Examples of Supercomputers: Fugaku, Summit, and Sierra, known for their capabilities in high-performance computing and scientific simulations.

Programming Language Trends
  • Popular Languages: Including modern languages such as Python, Java, JavaScript, and C#, widely used across various domains from web development to scientific computing.

  • Object-Oriented Programming Features: Emphasizes modularity, allowing for better organization of code, code reuse, and more effective problem-solving through the use of objects and classes.

Terminology
  • Input Device: A hardware component that allows users to enter data into a computer system.

  • Output Device: A hardware component that conveys data from a computer to the user or another device.

  • CPU (Central Processing Unit): The primary component of a computer that performs most of the processing inside the computer.

  • RAM (Random Access Memory): A type of computer memory that can be accessed randomly and is used to store data temporarily.

  • Software: A collection of data or computer instructions that tells the computer how to work.

  • System Software: Software designed to provide a platform for other software.

  • Application Software: Software designed to help the user to perform specific tasks.

  • Compiler: A program that converts source code written in a high-level programming language into machine code, bytecode, or another programming language.

  • Algorithm: A set of instructions designed to perform a specific task.

  • URL (Uniform Resource Locator): The address of a resource on the internet.