Paper 2 - Computational Thinking, Algorithms and Programming
One click closer to confidence; expand the titles below, to explore the sections.
Computational thinking:
Decomposition
Abstraction
Algorithmic thinking
Inputs, processes and outputs
Structure diagrams and pseudocode
Flowcharts
Searching algorithms:
Linear search
Binary search
Sorting algorithms:
Bubble sort
Merge sort
Insertion sort
Programming concepts:
Variables and constants
Data types (integer, real, Boolean, character, string)
Operators (arithmetic, relational, Boolean)
Input and output
Assignment
Programming constructs:
Sequence
Selection (IF, CASE/SWITCH)
Iteration (FOR, WHILE, REPEAT UNTIL)
String handling
Random number generation
Subroutines:
Procedures
Functions
Use of parameters and return values
Defensive design:
Input validation
Anticipating misuse
Authentication
Maintainability of code:
Comments
Indentation
Naming conventions
Testing:
Types of testing (e.g. iterative, final/terminal)
Test data types (normal, boundary, erroneous)
Logic diagrams using:
AND
OR
NOT
Truth tables
Combining Boolean operators
Applying logical reasoning to solve problems
• Levels of programming language:
High-level
Low-level
Translators:
Compilers
Interpreters
Assemblers
Common tools and features of an IDE:
Editors
Error diagnostics
Run-time environment
Translators