BCS Written Computer Science key terms
BCS Written Computer Science · Get comfortable with the vocabulary.
- von Neumann architecture
- Related: stored program concept, instruction cycle, cache memory
A computer design in which a single memory holds both instructions and data, and the processor fetches and executes instructions sequentially from that shared store.
- stored program concept
- Related: von Neumann architecture, instruction cycle
The principle that a program's instructions reside in memory alongside its data, allowing the machine to be reprogrammed by loading new instructions rather than rewiring hardware.
- instruction cycle
- Related: von Neumann architecture, pipelining, register
The repeating sequence of fetching an instruction from memory, decoding it, executing the required operation, and storing results, after which the processor moves to the next instruction.
- cache memory
- Related: memory hierarchy, von Neumann architecture
A small, fast memory placed close to the processor that holds recently used instructions and data to reduce the average time needed to access main memory.
- memory hierarchy
- Related: cache memory, virtual memory
The layered arrangement of storage from fast, small, expensive registers and caches down to large, slow, cheap secondary storage, balancing speed against cost and capacity.
- pipelining
- Related: instruction cycle
A processor technique that overlaps the stages of several instructions so that while one instruction executes, the next is being decoded and another fetched, raising overall throughput.
- register
- Related: instruction cycle, memory hierarchy
A very small, very fast storage location inside the processor used to hold operands, addresses, and intermediate results during instruction execution.
- asymptotic complexity
- Related: time complexity, space complexity, algorithm
A description of how an algorithm's running time or memory use grows as input size increases, ignoring constants and focusing on the dominant term, usually written with big-O notation.
- time complexity
- Related: asymptotic complexity, space complexity
A measure of the number of basic operations an algorithm performs as a function of input size, used to compare algorithms independently of hardware.
- space complexity
- Related: time complexity, asymptotic complexity
A measure of the extra memory an algorithm requires beyond its input, expressed as a function of input size and used alongside time cost when choosing an approach.
- stack
- Related: queue, recursion
A linear data structure following last-in-first-out order, where insertion and removal both occur at one end, used for function calls and expression evaluation.
- queue
- Related: stack
A linear data structure following first-in-first-out order, where items are added at one end and removed from the other, used in scheduling and buffering.
- hash table
- Related: time complexity, binary search tree
A structure that maps keys to values by computing an index from the key with a hash function, giving fast average-case lookup at the cost of handling collisions.
- binary search tree
- Related: hash table, tree traversal
A binary tree in which every node's left subtree holds smaller keys and its right subtree holds larger keys, permitting efficient ordered search when the tree stays balanced.
- recursion
- Related: stack, dynamic programming
A technique where a function solves a problem by calling itself on smaller subproblems, requiring a base case to stop and a call stack to hold pending states.
- dynamic programming
- Related: recursion, time complexity
An algorithm design method that solves overlapping subproblems once, stores their results, and reuses them to build up the answer to the full problem efficiently.
- compiler
- Related: interpreter, syntax analysis, object code
A program that translates source code written in a high-level language into machine code or another target language before the program is run.
- interpreter
- Related: compiler, virtual machine
A program that reads source code and executes it directly statement by statement, without first producing a separate machine-code file.
- object code
- Related: compiler, linker
The intermediate machine-level output produced by a compiler or assembler, which a linker combines with libraries to form an executable program.
- linker
- Related: object code, compiler
A tool that combines object code modules and library code, resolving references between them, to produce a single executable file.
- normalization
- Related: primary key, foreign key, functional dependency
The process of organizing relational tables to reduce redundancy and avoid update anomalies by decomposing them according to dependency rules such as first, second, and third normal form.
- primary key
- Related: foreign key, normalization
A column or minimal set of columns whose values uniquely identify each row in a table and which cannot contain null values.
- foreign key
- Related: primary key, referential integrity
A column or set of columns in one table whose values must match a candidate key in another table, enforcing referential integrity between related records.
- referential integrity
- Related: foreign key
A database rule ensuring that every foreign key value either matches an existing primary key value or is null, preventing orphaned records.
- ACID properties
- Related: transaction
The four guarantees of a reliable transaction: atomicity, consistency, isolation, and durability, which together keep the database correct despite failures and concurrent access.
- transaction
- Related: ACID properties
A logical unit of database work that must be completed entirely or not at all, typically ending with a commit or a rollback.
- OSI reference model
- Related: TCP/IP model, protocol
A seven-layer conceptual framework describing network functions from physical transmission up through data link, network, transport, session, presentation, and application concerns.
- TCP/IP model
- Related: OSI reference model, IP address, protocol
A four-layer practical architecture (link, internet, transport, application) underlying the Internet, in which TCP provides reliable streams and IP handles addressing and routing.
- IP address
- Related: subnet mask, routing
A numeric label assigned to a device on a network so that packets can be routed to it, written in dotted-decimal form under IPv4 or hexadecimal groups under IPv6.
- subnet mask
- Related: IP address, routing
A bit pattern that separates the network portion of an IP address from the host portion, allowing devices to decide whether a destination is local or must be routed.
- protocol
- Related: OSI reference model, TCP/IP model
A formally agreed set of rules governing message format, timing, and meaning so that different systems can exchange data reliably.
- context switch
- Related: process, scheduling
The act of saving the state of one running process and restoring the state of another so the processor can be shared among them.
- process
- Related: context switch, thread, virtual memory
A program in execution together with its own address space, registers, and resources, which the operating system creates, schedules, and terminates.
- virtual memory
- Related: paging, process
A technique giving each process an apparent large contiguous address space, with pages moved between main memory and disk as needed by the memory management unit.
- deadlock
- Related: scheduling, process
A situation where two or more processes each wait for a resource held by another, so none can proceed without external intervention.
- software development life cycle
- Related: waterfall model, requirements specification
The structured stages a software product passes through, typically requirements gathering, analysis, design, implementation, testing, deployment, and maintenance.
- waterfall model
- Related: software development life cycle, prototyping
A sequential development approach in which each phase is completed and approved before the next begins, making changes costly once later stages are reached.
- requirements specification
- Related: software development life cycle, use case
A document stating what a system must do and the constraints it must satisfy, forming the basis for design and for later acceptance testing.
- confidentiality, integrity and availability
- Related: encryption, authentication
The three core security goals: keeping data secret from unauthorized parties, preventing unauthorized alteration, and ensuring timely access for legitimate users.
- encryption
- Related: digital signature, confidentiality, integrity and availability
The reversible transformation of readable data into ciphertext using a key, so that only parties holding the correct key can recover the original content.
- digital signature
- Related: encryption, authentication
A cryptographic value attached to a message that lets a recipient verify the sender's identity and confirm the message has not been altered in transit.
- authentication
- Related: digital signature, confidentiality, integrity and availability
The process of verifying that a user, device, or message really is who or what it claims to be, often through passwords, tokens, or cryptographic proofs.
- cloud computing
- Related: virtualization, service-oriented architecture
The delivery of computing resources such as servers, storage, and software over a network on demand, typically billed by usage and managed by a provider.
- virtualization
- Related: cloud computing, virtual machine
The creation of software-based versions of physical resources, such as servers or networks, allowing several isolated systems to share one machine.
- e-government
- Related: digital divide, public key infrastructure
The use of information and communication technology by public agencies to deliver services, share information, and transact with citizens and businesses.
- digital divide
- Related: e-government
The gap between those with affordable access to digital technology and skills and those without, affecting who can benefit from online public services.