Pancyprian Computer Science - independent foundations flashcards
Pancyprian Computer Science - independent foundations · Build recall with a focused review session.
30 cards. Read the term and the definition here. The deck at the top of this page is optional.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Binary
- A base-2 number system that uses only two digits, 0 and 1. It is the fundamental representation of data in digital computers.
- 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.