Pancyprian Computer Science - independent foundations study materials
Pancyprian Computer Science - independent foundations study resources

Pancyprian Computer Science - independent foundations key terms

Pancyprian Computer Science - independent foundations · Get comfortable with the vocabulary.

recursion

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.

Related: stack, sorting algorithm
variable

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.

Related: data type, scope
data type

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.

Related: variable, type casting
type casting

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.

Related: data type
scope

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.

Related: variable, parameter passing
parameter passing

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.

Related: scope, recursion
object-oriented programming

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.

Related: inheritance, polymorphism, encapsulation
encapsulation

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.

Related: object-oriented programming, polymorphism
inheritance

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.

Related: polymorphism, object-oriented programming
polymorphism

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.

Related: inheritance, encapsulation
syntax 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.

Related: compiler, runtime error, logic error
runtime error

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.

Related: syntax error, logic error, exception
logic 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.

Related: runtime error, syntax error
exception

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.

Related: runtime error, compiler
Relational database

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.

Related: SQL, Primary key, Foreign key
Primary key

A column or set of columns whose values uniquely identify each row in a database table. It cannot contain duplicate or null values.

Related: Foreign key, Relational database
Foreign 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.

Related: Primary key
SQL

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.

Related: Relational database, Normalization
Normalization

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.

Related: Primary key, Foreign key, Relational database
Database index

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.

Related: Primary key, SQL
Metadata

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.

Related: Relational database, Database index
CPU

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.

Related: Instruction cycle, Cache memory, RAM
RAM

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.

Related: Cache memory, CPU
Cache memory

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.

Related: CPU, RAM
Operating system

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.

Related: RAM, CPU
Von Neumann architecture

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.

Related: CPU, Instruction cycle, RAM
Logic gate

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.

Related: CPU
Instruction cycle

The repeating sequence a processor follows to execute an instruction, typically fetching it from memory, decoding its operation, executing it, and storing any result.

Related: CPU, Von Neumann architecture
Binary

A base-2 number system that uses only two digits, 0 and 1. It is the fundamental representation of data in digital computers.

Related: Hexadecimal, Bit, Byte
Hexadecimal

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.

Related: Binary, Bit, Byte