2.1 Algorithms
Master the three core pillars of computational thinking. Learn how to logically break down, design, and iteratively refine algorithms to solve complex problems.
Part 1: Thinking & Design
2.1.1 Computational Thinking
Understand Abstraction, Decomposition, and Algorithmic Thinking. Visualise problem breakdown using structure diagrams.
Start Thinking logically2.1.2 Algorithm Design
Trace variables, fix syntax & logic errors, and understand flowcharts, pseudocode, and inputs/processes/outputs.
Design & DebugPart 2: Searching & Sorting
Unit 2.1 Capstone Knowledge Check
1. What is the fundamental purpose of an algorithm?
2. Why do computer scientists design algorithms before writing any actual program code?
Extended Essay (AO3 Evaluation)
Stretch (8 Marks)"Evaluate the benefits to a software development team of decomposing a complex system into sub-programs before designing the algorithms." (8 marks)
Concurrency: By decomposing the system into distinct sub-programs, the development team can work on different modules concurrently, drastically reducing overall development time.
Manageability: Complex problems can be overwhelming. Decomposition reduces complexity, making each individual sub-program easier to understand, design algorithms for, and subsequently code.
Testing & Debugging: Sub-programs can be tested independently. If a logic error occurs, it is localized to a specific module rather than the team having to trace through a massive, monolithic algorithm.
Reusability: Decomposed algorithms (such as a 'login verify' module) can often be reused in future projects without needing to be rewritten from scratch.