PRINCIPLES OF COMPUTER SCIENCE PAPER 1
2026 COMPLETE EXAM PRACTICE WITH MARK
SCHEME
◉ Pair programming. Answer: Involves two programmers at a single
workstation. At any given point in time, one is writing code and the
other is actively observing, watching for possible errors
but also thinking about the overall approach.
◉ Problem specification. Answer: A step in the software
development life cycle that involves
developing a clear, concise, and unambiguous statement of the exact
problem the software
is to solve.
◉ Procedural language. Answer: A program written in a procedural
language consists of sequences of statements that manipulate data
items.
◉ Program design phase. Answer: A step in the software
development life cycle that plans the structure of the software to be
written.
,◉ Program maintenance. Answer: The process of adapting an
existing software product due to errors, new system requirements,
or changing user needs.
◉ Program verification. Answer: Used to prove that if the input data
to a program satisfies certain conditions, then, after the program has
been run on these data, the output data satisfies certain other
conditions.
◉ Regression testing. Answer: If anything is changed on an already-
tested module, regression testing is done to be sure that this change
has not introduced a new error into code that was previously
correct.
◉ Runtime error. Answer: An error that occurs when the program is
run using certain sets of data that result in some illegal operation,
such as dividing by zero.
◉ Semantics. Answer: The meaning of correctly written
programming statements.
◉ Source code. Answer: High-level language instructions.
◉ Syntax error. Answer: An error that occurs because a program
statement fails to follow the correct
,rules of syntax.
◉ Technical documentation. Answer: Documentation that enables
programmers who later have to modify the program to understand
the code.
◉ Third-generation language. Answer: Another name for high-level
programming language as
opposed to machine language (first generation) or assembly
language (second generation).
◉ Top-down decomposition. Answer: A program design strategy in
which tasks are broken down into subtasks, which are broken down
into sub-subtasks, and so on, until each piece is small enough to
code comfortably. These pieces work together to accomplish the
total job.
◉ Syntax. Answer: The rules for exactly how programming
statements must be written; the grammatical structure of a
programming language
◉ Application. Answer: (Java) A complete standalone program that
resides and runs on a self-contained computer.
, ◉ External library. Answer: A well-written, efficient, and thoroughly
tested code module that is separately compiled and then drawn on
by any program that wishes to use its capabilities.
◉ Functional programming languages. Answer: Views every task in
terms of functions. In this context, function means something like a
mathematical function—a recipe for taking an argument (or
possibly several arguments) and doing something with them to
compute a single value.
◉ Knowledge base. Answer: Facts and rules about a certain domain
of interest.
◉ Open source. Answer: Software whose source code is freely
available and may be used, distributed, or modified by anyone.
◉ Recursive. Answer: Something that is defined in terms of "smaller
versions" of itself.
◉ Computational model. Answer: A model constructed using
algorithmic procedures implemented as computer programs.
◉ Computational steering. Answer: A procedure for using a
computational model to improve the design of an actual system by
2026 COMPLETE EXAM PRACTICE WITH MARK
SCHEME
◉ Pair programming. Answer: Involves two programmers at a single
workstation. At any given point in time, one is writing code and the
other is actively observing, watching for possible errors
but also thinking about the overall approach.
◉ Problem specification. Answer: A step in the software
development life cycle that involves
developing a clear, concise, and unambiguous statement of the exact
problem the software
is to solve.
◉ Procedural language. Answer: A program written in a procedural
language consists of sequences of statements that manipulate data
items.
◉ Program design phase. Answer: A step in the software
development life cycle that plans the structure of the software to be
written.
,◉ Program maintenance. Answer: The process of adapting an
existing software product due to errors, new system requirements,
or changing user needs.
◉ Program verification. Answer: Used to prove that if the input data
to a program satisfies certain conditions, then, after the program has
been run on these data, the output data satisfies certain other
conditions.
◉ Regression testing. Answer: If anything is changed on an already-
tested module, regression testing is done to be sure that this change
has not introduced a new error into code that was previously
correct.
◉ Runtime error. Answer: An error that occurs when the program is
run using certain sets of data that result in some illegal operation,
such as dividing by zero.
◉ Semantics. Answer: The meaning of correctly written
programming statements.
◉ Source code. Answer: High-level language instructions.
◉ Syntax error. Answer: An error that occurs because a program
statement fails to follow the correct
,rules of syntax.
◉ Technical documentation. Answer: Documentation that enables
programmers who later have to modify the program to understand
the code.
◉ Third-generation language. Answer: Another name for high-level
programming language as
opposed to machine language (first generation) or assembly
language (second generation).
◉ Top-down decomposition. Answer: A program design strategy in
which tasks are broken down into subtasks, which are broken down
into sub-subtasks, and so on, until each piece is small enough to
code comfortably. These pieces work together to accomplish the
total job.
◉ Syntax. Answer: The rules for exactly how programming
statements must be written; the grammatical structure of a
programming language
◉ Application. Answer: (Java) A complete standalone program that
resides and runs on a self-contained computer.
, ◉ External library. Answer: A well-written, efficient, and thoroughly
tested code module that is separately compiled and then drawn on
by any program that wishes to use its capabilities.
◉ Functional programming languages. Answer: Views every task in
terms of functions. In this context, function means something like a
mathematical function—a recipe for taking an argument (or
possibly several arguments) and doing something with them to
compute a single value.
◉ Knowledge base. Answer: Facts and rules about a certain domain
of interest.
◉ Open source. Answer: Software whose source code is freely
available and may be used, distributed, or modified by anyone.
◉ Recursive. Answer: Something that is defined in terms of "smaller
versions" of itself.
◉ Computational model. Answer: A model constructed using
algorithmic procedures implemented as computer programs.
◉ Computational steering. Answer: A procedure for using a
computational model to improve the design of an actual system by