BCS Written Computer Science study materials
BCS Written Computer Science study resources

BCS Written Computer Science key terms

BCS Written Computer Science · Get comfortable with the vocabulary.

von Neumann architecture

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.

Related: stored program concept, instruction cycle, cache memory
stored program concept

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.

Related: von Neumann architecture, instruction cycle
instruction cycle

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.

Related: von Neumann architecture, pipelining, register
cache memory

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.

Related: memory hierarchy, von Neumann architecture
memory hierarchy

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.

Related: cache memory, virtual memory
pipelining

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.

Related: instruction cycle
register

A very small, very fast storage location inside the processor used to hold operands, addresses, and intermediate results during instruction execution.

Related: instruction cycle, memory hierarchy
asymptotic complexity

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.

Related: time complexity, space complexity, algorithm
time 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.

Related: asymptotic complexity, space complexity
space 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.

Related: time complexity, asymptotic complexity
stack

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.

Related: queue, recursion
queue

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.

Related: stack
hash table

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.

Related: time complexity, binary search tree
binary search tree

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.

Related: hash table, tree traversal
recursion

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.

Related: stack, dynamic programming
dynamic programming

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.

Related: recursion, time complexity
compiler

A program that translates source code written in a high-level language into machine code or another target language before the program is run.

Related: interpreter, syntax analysis, object code
interpreter

A program that reads source code and executes it directly statement by statement, without first producing a separate machine-code file.

Related: compiler, virtual machine
object code

The intermediate machine-level output produced by a compiler or assembler, which a linker combines with libraries to form an executable program.

Related: compiler, linker
linker

A tool that combines object code modules and library code, resolving references between them, to produce a single executable file.

Related: object code, compiler
normalization

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.

Related: primary key, foreign key, functional dependency
primary key

A column or minimal set of columns whose values uniquely identify each row in a table and which cannot contain null values.

Related: foreign key, normalization
foreign key

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.

Related: primary key, referential integrity
referential integrity

A database rule ensuring that every foreign key value either matches an existing primary key value or is null, preventing orphaned records.

Related: foreign key
ACID properties

The four guarantees of a reliable transaction: atomicity, consistency, isolation, and durability, which together keep the database correct despite failures and concurrent access.

Related: transaction
transaction

A logical unit of database work that must be completed entirely or not at all, typically ending with a commit or a rollback.

Related: ACID properties
OSI reference model

A seven-layer conceptual framework describing network functions from physical transmission up through data link, network, transport, session, presentation, and application concerns.

Related: TCP/IP model, protocol
TCP/IP model

A four-layer practical architecture (link, internet, transport, application) underlying the Internet, in which TCP provides reliable streams and IP handles addressing and routing.

Related: OSI reference model, IP address, protocol
IP address

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.

Related: subnet mask, routing
subnet mask

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.

Related: IP address, routing
protocol

A formally agreed set of rules governing message format, timing, and meaning so that different systems can exchange data reliably.

Related: OSI reference model, TCP/IP model
context switch

The act of saving the state of one running process and restoring the state of another so the processor can be shared among them.

Related: process, scheduling
process

A program in execution together with its own address space, registers, and resources, which the operating system creates, schedules, and terminates.

Related: context switch, thread, virtual memory
virtual memory

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.

Related: paging, process
deadlock

A situation where two or more processes each wait for a resource held by another, so none can proceed without external intervention.

Related: scheduling, process
software development life cycle

The structured stages a software product passes through, typically requirements gathering, analysis, design, implementation, testing, deployment, and maintenance.

Related: waterfall model, requirements specification
waterfall model

A sequential development approach in which each phase is completed and approved before the next begins, making changes costly once later stages are reached.

Related: software development life cycle, prototyping
requirements specification

A document stating what a system must do and the constraints it must satisfy, forming the basis for design and for later acceptance testing.

Related: software development life cycle, use case
confidentiality, integrity and availability

The three core security goals: keeping data secret from unauthorized parties, preventing unauthorized alteration, and ensuring timely access for legitimate users.

Related: encryption, authentication
encryption

The reversible transformation of readable data into ciphertext using a key, so that only parties holding the correct key can recover the original content.

Related: digital signature, confidentiality, integrity and availability
digital signature

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.

Related: encryption, authentication
authentication

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.

Related: digital signature, confidentiality, integrity and availability
cloud computing

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.

Related: virtualization, service-oriented architecture
virtualization

The creation of software-based versions of physical resources, such as servers or networks, allowing several isolated systems to share one machine.

Related: cloud computing, virtual machine
e-government

The use of information and communication technology by public agencies to deliver services, share information, and transact with citizens and businesses.

Related: digital divide, public key infrastructure
digital divide

The gap between those with affordable access to digital technology and skills and those without, affecting who can benefit from online public services.

Related: e-government