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
Identify tasks: Define concrete objectives that the software needs to accomplish.
Plan methods: Devise detailed strategies and workflows to perform each task efficiently.
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
1st Generation: Used vacuum tubes for circuitry and magnetic drums for memory.
2nd Generation: Introduced transistors, which were smaller, more energy-efficient, and more reliable than vacuum tubes.
3rd Generation: Featured integrated circuits, allowing thousands of transistors to be placed on a single chip.
4th Generation: Involved miniaturization of technology, leading to personal computers, and advancements in microprocessors.
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
1st Generation: Machine language, consisting of binary codes directly understood by the computer's CPU.
2nd Generation: Assembly language, using symbolic codes and mnemonics for easier programming.
3rd Generation: High-Level Languages (e.g., Python, C, Java), which are easier to write and read, requiring compilation or interpretation to execute.
4th Generation: Object-Oriented Programming languages (e.g., C++, Java, Visual Basic), focusing on objects and classes to promote modular design and code reuse.
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.