Skip to main content
Degree synthesis
Lesson 74 of 75
Challenge

Computational synthesis

Objective. Design, verify and communicate an algorithmic investigation.

  1. 1. Learn
  2. 2. Worked example
  3. 3. Practice
  4. 4. Feedback
  5. 5. Continue

Learn: the key idea

Computational synthesis is the full cycle of designing an algorithm for a problem, verifying its correctness and complexity, and communicating the results with appropriate evidence such as timing data or error analysis. It brings together algorithm design (choosing an efficient method), theoretical analysis (proving correctness and bounding complexity, such as O(n log n)), and empirical validation (testing on real inputs and checking the measured running time matches the predicted order of growth). For example, after implementing a sorting algorithm, synthesis means proving it is correct by induction on recursive calls, deriving its O(n log n) complexity from the recurrence T(n) = 2T(n/2) + O(n), and then empirically confirming the runtime scaling on test data of increasing size.

Worked example

In a computational synthesis investigation of an algorithm's complexity, which action most directly completes the cycle of design, verification and communication of results?

Options
  • Implementing the algorithm and reporting only its source code
  • Deriving the complexity from the recurrence, then empirically confirming it matches measured running times
  • Running the algorithm once and reporting that single time
  • Choosing the algorithm with the shortest code regardless of complexity
  1. 1Consider what links theoretical analysis to practical evidence in computational synthesis.
  2. 2Reporting only code or a single run gives no verification of correctness or complexity.
  3. 3Deriving complexity from the recurrence and then checking it against measured running times verifies the theory empirically.
  4. 4This combination of derivation and empirical confirmation completes the computational synthesis cycle.

Answer: Deriving the complexity from the recurrence, then empirically confirming it matches measured running times

Concept mastery

Based on your past attempts at this lesson — the question types to practise again come first.

Complete a practice set to see your concept breakdown here.

Practice

Practice happens on its own screen, one question at a time. Answers stay hidden until you submit yours, and you can stop and pick up at the same question later.

Start practising

Common mistake. A common mistake is reporting an algorithm's empirical running times without relating them to the theoretically derived complexity, missing a chance to confirm (or flag inconsistency in) the predicted order of growth.

Your progress

Tick each step as you finish it. Your exact reading position is saved automatically, so Continue drops you back on the same line.

0 of 5 steps complete

Your place saves automatically as you read.

My dashboard