Computer Science Fundamentals: Hardware, Software, and Data
Computer Science Definitions
Science: A structured body of knowledge gained through observation and reasoning, following general principles and laws.
Data: Basic facts used for analysis, calculation, or as a unit in a process, represented by symbols.
Information: Ordered data sets that communicate or clarify skills, aiding understanding, decision-making, and reducing uncertainty.
What is a Computer?
An electronic machine with one or more processing units and peripherals, controlled by software stored in its memory, capable of performing numerous tasks.
The Processor or CPU
- Physically, small chips called microprocessors.
- The “brains” of the computer.
- Manipulates data, interpreting and executing instructions.
- Comprised of two elements:
- Control Unit (CU)
- Arithmetic-Logic Unit (ALU)
The Control Unit
- Manages computer resources: memory, input/output devices, and storage.
- Selects, interprets, and executes program instructions.
- Transfers data to the ALU for processing.
The Arithmetic Logic Unit (ALU)
- The CU tells it which operation (arithmetic or logical) to run.
- Has an operational circuit and three registers:
- RE: Entry Register, containing data for the operation.
- RS: State Register, indicating the status of the last operation.
- RA: Accumulator Register, containing the result of each operation.
Main Memory
Small chips connected to the computer’s main board, storing vital information for operation and data processing.
Main Memory Types
- ROM (Read-Only Memory): Factory pre-recorded information for system commands. Non-volatile, content cannot be erased or altered.
- RAM (Random Access Memory): Temporary storage for processor access. Fast access, volatile (data lost when the machine shuts down), capacity can be extended.
Input Devices
Devices that allow data to be entered into a computer system in digital form.
- Keyboard
- Mouse
- Scanner
- Joystick
- Optical Reader
- Microphone
Output Devices
Devices that represent processed data in a user-understandable format.
- Monitor
- Printer
- Plotter
- Speakers
Other Elements
- Memory Cache: High-speed temporary storage for frequently used data and instructions, improving processing speed.
- Buffers: Used to offset speed differences in data flow between devices, found in peripherals or the CPU.
- The Bus System: Groups of conductors interconnecting the CPU with other components like memory and I/O drives.
Software
One or more programs developed in a programming language.
- Programming Languages:
- Machine language (machine-dependent)
- High-level languages (C, C++, Java, Cobol, Pascal, Fortran)
- Translators: Compilers and interpreters.
- The operating system performs the actual execution.
Programming Language
Artificial language used to define a sequence of instructions for computer processing. Microprocessors process binary electronic signals. Instructions are sent as sequences of ones and zeros, called machine code.
Compiler
Software that translates source code written in a high-level language into machine code.
Algorithm
An ordered set of operations that solves a problem. The programmer converts the algorithm into a program, adding details, overcoming difficulties, testing procedures, correcting errors, and removing ambiguity.