LC Computer Science key terms
LC Computer Science · Get comfortable with the vocabulary.
- Computational thinking
- Related: Decomposition, Abstraction, Algorithm
A problem-solving approach that frames a problem so a computer could solve it, using decomposition, pattern recognition, abstraction and algorithm design, and then evaluating and refining the resulting solution.
- Decomposition
- Related: Computational thinking, Abstraction, Function
Breaking a large, complex problem into smaller parts that can each be understood, solved and tested separately, then combined so the finished program solves the original problem.
- Abstraction
- Related: Decomposition, Function, Computational thinking
Hiding unnecessary detail so you can focus on what matters for the task, such as calling a function without reading its internal code, or modelling only the relevant features of a real system.
- Pattern recognition
- Related: Abstraction, Iteration, Function
Spotting similarities or repeating structures in problems and data so that one general solution, such as a loop or a reusable function, can handle many similar cases.
- Pseudocode
- Related: Algorithm, Debugging
An informal, structured description of an algorithm written in plain language with indentation conventions rather than in a real programming language, used to plan and communicate logic before coding begins.
- Debugging
- Related: Unit testing, Logic error, Syntax error
The process of finding, locating and fixing defects in a program by reproducing the fault, forming hypotheses about its cause, gathering evidence and confirming that the fix works.
- Unit testing
- Related: Debugging, Code review
Writing small, independent tests that each check one part of a program against an expected result, so defects are found early and later changes can be checked quickly.
- Version control
- Related: Code review, Iterative development
A system that records changes to files over time, letting developers view history, revert to earlier versions and merge work from different people without overwriting each other's changes.
- Code review
- Related: Version control, Unit testing
A structured check in which another person reads your code to find defects, unclear logic or style problems, and to share knowledge, before the code is accepted into the project.
- Iterative development
- Related: Prototype, Requirements specification
Building software in short repeated cycles, each producing a working version that is tested and improved using feedback, instead of trying to deliver the whole product in one go.
- Algorithm
- Related: Pseudocode, Decomposition
A finite, ordered set of unambiguous steps that takes some input, performs operations and produces a result, so that anyone following it would solve the same problem the same way.
- Variable
- Related: Data type, Scope
A named storage location in a program that holds a value which can be read and changed while the program runs; the name lets code refer to the value without knowing where it is stored.
- Data type
- Related: Variable, Boolean
A classification of a value that determines what it can hold and which operations are allowed on it, such as integer, floating point, character, string or Boolean.
- Boolean
- Related: Data type, Conditional statement
A data type with exactly two possible values, true and false, used to represent conditions and to control selection and repetition in programs.
- Conditional statement
- Related: Boolean, Iteration
A programming construct that runs one block of code or another depending on whether a condition evaluates to true or false, allowing a program to make decisions.
- Iteration
- Related: Conditional statement, Pattern recognition
Repeating a block of code a set number of times, or while a condition remains true, which avoids writing the same statements out many times by hand.
- Function
- Related: Parameter, Scope, Abstraction
A named block of code that performs one task, can take inputs and return a result, and can be called repeatedly from elsewhere, making programs shorter and easier to test.
- Parameter
- Related: Function, Variable
A named input declared by a function that receives a value when the function is called, so the same code can work on different data each time it runs.
- Scope
- Related: Variable, Function
The part of a program where a particular name, such as a variable or function, can be used; local names exist only inside their block, while global names are available throughout the program.
- Syntax error
- Related: Runtime error, Debugging, Compiler
A mistake that breaks the rules of the programming language, such as a missing bracket or a misspelled keyword, which stops the program from compiling or running at all.
- Runtime error
- Related: Syntax error, Logic error, Debugging
A fault that occurs while a program is running, such as dividing by zero or reading past the end of a list, which may crash the program or produce wrong results.
- Logic error
- Related: Debugging, Unit testing
A mistake in the reasoning of a program, so it runs without crashing but produces the wrong answer; these are found by testing results against expected outputs.
- Binary
- Related: Boolean, Data type
A base-2 number system using only the digits 0 and 1, which maps directly onto the on and off states of digital circuits and is how computers store all data.
- Relational database
- Related: Primary key, SQL
A collection of data organised into tables of rows and columns, where tables are linked by shared key fields so related data can be stored once and queried together.
- Primary key
- Related: Relational database, SQL
A column, or combination of columns, whose value uniquely identifies each row in a table, so no two rows share it and other tables can refer to a row reliably.
- SQL
- Related: Relational database, Primary key
A standard language for defining, querying and changing data in relational databases, built around statements such as SELECT, INSERT, UPDATE and DELETE.
- Compiler
- Related: Syntax error
A program that translates an entire source file into machine code before execution, reporting the syntax errors it finds, so the resulting program runs without the translator present.
- Requirements specification
- Related: Prototype, Iterative development, Usability
A written statement of what a system must do and the constraints it must work within, agreed with the client before building begins and used later to judge whether the product is complete.
- Prototype
- Related: Iterative development, Usability, Requirements specification
An early, simplified version of a product built to test ideas and gather feedback from users before committing time and money to a full build.
- Usability
- Related: Accessibility, Prototype
How easily and effectively people can learn and use a system to achieve their goals, covering clarity, consistency, error prevention and the effort required.
- Accessibility
- Related: Usability
Designing systems so people with disabilities, such as visual, hearing or motor impairments, can perceive and operate them, for example through keyboard navigation, alternative text and sufficient colour contrast.
- General Data Protection Regulation (GDPR)
- Related: Authentication, Encryption
EU law that governs how organisations may collect, store and use personal data, requiring a lawful basis, limited retention, security safeguards and rights for the individuals concerned.
- Open-source licence
- Related: Version control, Code review
A legal licence that lets anyone use, study, modify and redistribute a program's source code, usually on conditions such as keeping copyright notices or sharing changes under the same terms.
- Authentication
- Related: Encryption, Phishing
The process of checking that a user or system is who they claim to be, typically through something they know, have or are, before access to protected resources is granted.
- Encryption
- Related: Authentication, General Data Protection Regulation (GDPR)
Converting readable data into an unreadable form using a key, so that only someone holding the correct key can turn it back into readable form.
- Phishing
- Related: Authentication, Encryption
A deception in which attackers send messages that appear to come from a trusted source to trick people into revealing passwords or payment details, or into installing malware.
- Algorithmic bias
- Related: Machine learning, Requirements specification
Systematic unfairness in a system's outputs caused by biased training data, flawed assumptions or unrepresentative testing, which can disadvantage particular groups of people.
- Machine learning
- Related: Algorithmic bias, Algorithm
An approach where a program learns patterns from examples rather than being given explicit rules, then uses the learned model to make predictions about new data.