Pancyprian Computer Science - independent foundations key terms
Pancyprian Computer Science - independent foundations · Get comfortable with the vocabulary.
- recursion
- Related: stack, sorting algorithm
A technique in which a method calls itself on a smaller version of the same problem. It needs a base case that stops the calls and a recursive case that makes measurable progress toward that base case.
- variable
- Related: data type, scope
A named storage location whose value can change during program execution. In most languages a variable has a declared or inferred data type, a scope, and a lifetime determined by where it is declared.
- data type
- Related: variable, type casting
A classification that specifies which values a variable may hold and which operations apply, such as integer, floating point, character, Boolean, or string. It determines memory representation and allowed behavior.
- type casting
- Related: data type
Converting a value from one data type to another. Whether a conversion is implicit and lossless depends on the language, source type, target type and actual value. Integer-to-floating conversions can lose precision when the integer exceeds the target’s exact range; narrowing conversions also require careful checks.
- scope
- Related: variable, parameter passing
The region of a program where a declared name is visible and usable. Block scope limits a variable to the braces where it is declared, while global scope makes it accessible throughout the file or program.
- parameter passing
- Related: scope, recursion
How arguments move into a method. Pass-by-value copies the argument, so changes stay local; pass-by-reference gives access to the caller's variable. Java passes object references by value.
- object-oriented programming
- Related: inheritance, polymorphism, encapsulation
A paradigm organizing code into classes that bundle data and behavior, with objects as instances. Its pillars are encapsulation, inheritance, polymorphism, and abstraction, which support reuse and manageable large programs.
- encapsulation
- Related: object-oriented programming, polymorphism
Hiding an object's internal state behind private fields and exposing controlled access through public methods such as getters and setters. It protects invariants and lets implementation details change without breaking callers.
- inheritance
- Related: polymorphism, object-oriented programming
A relationship in which a subclass acquires fields and methods from a superclass and may extend or override them. It models an is-a relationship and promotes code reuse, though deep hierarchies can become brittle.
- polymorphism
- Related: inheritance, encapsulation
The ability of one interface or method name to work with multiple types. Dynamically dispatched overridden methods, such as calls through virtual functions in C++, can resolve at run time. Ordinary overload resolution depends on the language’s compile-time rules; not every same-named method implies dynamic dispatch.
- syntax error
- Related: compiler, runtime error, logic error
A violation of a language's grammar, such as a missing semicolon or unbalanced parenthesis, detected during compilation or parsing. The program cannot run until the error is corrected.
- runtime error
- Related: syntax error, logic error, exception
A failure arising during program execution rather than parsing, with behavior defined by the language and operation. Some languages raise exceptions for invalid indexing or division; in C++ certain invalid operations instead have undefined behavior and need not produce a predictable exception.
- logic error
- Related: runtime error, syntax error
A mistake in the program's reasoning that produces incorrect output without crashing, such as using less-than instead of less-than-or-equal in a loop condition. It is found by testing and tracing, not by the compiler.
- exception
- Related: runtime error, compiler
An object signaling an abnormal condition during execution. Languages use try, catch, and finally blocks or similar constructs to handle it, allowing recovery instead of abrupt termination.
- Relational database
- Related: SQL, Primary key, Foreign key
A database that stores data in tables made of rows and columns and uses relationships between tables. It is queried with languages such as SQL and follows the relational model.
- Primary key
- Related: Foreign key, Relational database
A column or set of columns whose values uniquely identify each row in a database table. It cannot contain duplicate or null values.
- Foreign key
- Related: Primary key
A column or set of columns in one table that refers to the primary key of another table. It enforces referential integrity between related records.
- SQL
- Related: Relational database, Normalization
Structured Query Language, a standard language for defining, querying, updating, and managing data in relational databases. It includes statements for creating tables and retrieving rows.
- Normalization
- Related: Primary key, Foreign key, Relational database
The process of organizing relational database tables to reduce duplicated data and avoid update anomalies. It typically involves dividing data into related tables and defining keys.
- Database index
- Related: Primary key, SQL
A data structure that speeds up searches on a database table by providing quick lookup paths to rows. It uses extra storage and must be updated when data changes.
- Metadata
- Related: Relational database, Database index
Data that describes other data, such as a file's author, creation date, format, or size. In databases, it describes table structures, constraints, and other schema information.
- CPU
- Related: Instruction cycle, Cache memory, RAM
The central processing unit is the main processor in a computer. It fetches instructions, decodes them, and carries out arithmetic, logic, and control operations while coordinating other components.
- RAM
- Related: Cache memory, CPU
Temporary, volatile computer memory that holds programs and data currently in use. Its contents disappear when power is lost, but it allows fast reading and writing.
- Cache memory
- Related: CPU, RAM
A small, fast memory area close to the processor that stores frequently used instructions and data. It reduces average access time by keeping likely-needed information nearby.
- Operating system
- Related: RAM, CPU
System software that manages hardware resources, provides services to applications, and controls basic operations such as process scheduling, memory allocation, file storage, and device input and output.
- Von Neumann architecture
- Related: CPU, Instruction cycle, RAM
A computer design in which instructions and data share the same memory and travel over common pathways. The processor fetches instructions sequentially from memory during execution.
- Logic gate
- Related: CPU
A basic electronic circuit that performs a Boolean operation on one or more binary inputs and produces a binary output. Common examples include AND, OR, and NOT gates.
- Instruction cycle
- Related: CPU, Von Neumann architecture
The repeating sequence a processor follows to execute an instruction, typically fetching it from memory, decoding its operation, executing it, and storing any result.
- Binary
- Related: Hexadecimal, Bit, Byte
A base-2 number system that uses only two digits, 0 and 1. It is the fundamental representation of data in digital computers.
- Hexadecimal
- Related: Binary, Bit, Byte
A base-16 number system using digits 0-9 and letters A-F. It provides a compact way to represent binary values, often used in programming and memory addresses.