A university-level overview of core computer science concepts including hardware, software, data representation, algorithms, and operating systems.
Von Neumann architecture
A computer design model where a single storage structure (memory) holds both instructions and data, and a central processing unit (CPU) fetches, decodes, and executes instructions sequentially via a shared bus. This model underlies most modern computers and introduces the von Neumann bottleneck due to shared bus for instructions and data.
The {{c1::CPU}} performs the fetch-decode-execute cycle to process instructions.
The CPU (Central Processing Unit) is the primary component that executes program instructions.
Moore's Law
The observation that the number of transistors on a microchip doubles approximately every two years, leading to exponential growth in computing power and reduction in cost per transistor. Named after Gordon Moore, co-founder of Intel, this trend has driven the rapid advancement of hardware capabilities.
In binary representation, a {{c1::byte}} consists of 8 bits.
A byte is the basic addressable unit of memory in most computer architectures.
Instruction Set Architecture (ISA)
The part of the processor visible to programmers, defining the supported instructions, data types, registers, addressing modes, and memory model. Examples include x86, ARM, and RISC-V. ISA defines the interface between hardware and software.
{{c1::RAM}} is volatile memory used for temporary storage, while {{c1::ROM}} is non-volatile memory used for firmware.
RAM (Random Access Memory) loses its contents when power is removed; ROM (Read-Only Memory) retains data without power.
Operating system kernel
The core component of an operating system that manages system resources (CPU, memory, devices) and provides essential services through system calls. The kernel operates in privileged mode and handles process scheduling, memory management, and hardware abstraction.
Compiler vs interpreter
A compiler translates entire source code into machine code before execution, producing an executable file; an interpreter reads and executes source code line‑by‑line at runtime. Compiled programs generally run faster, while interpreted languages offer greater portability and easier debugging.
Big O notation describes the {{c1::asymptotic upper bound}} of an algorithm's running time or space requirements.
It provides a high‑level understanding of algorithm efficiency, ignoring constant factors and lower‑order terms.
TCP/IP model layers
The TCP/IP model consists of four layers: Link (Network Interface), Internet (IP), Transport (TCP/UDP), and Application (HTTP, FTP, DNS, etc.). This model abstracts network communication and underlies the modern Internet.
In {{c1::symmetric encryption}}, the same secret key is used for both encryption and decryption.
Examples include AES and DES; key distribution is a major challenge.