Business and technology qualifications, Levels 3-6, in Brussels. Explore qualifications
Portal login
Level 4 Diploma in Cyber Security

Checking algorithms are correct: tracing, testing and timing

CYB404 · Algorithms and Data Structures — Week 10 of 16

CourseCYB404
Week10 of 16
SemesterII
TutorOnline in the course chat

This week’s topics

Checking algorithms are correct: tracing, testing and timing

  1. Evaluating algorithms: correctness via pre-conditions, post-conditions and invariants
  2. Timing with %timeit

What you will be able to do

  • 4.3 Evaluate the correctness and speed of an algorithm.

Activity

Start with this week’s 4 videos, then: Seminar, guided reading and a short written task: evaluate the correctness and speed of an algorithm.

Study materials

Videos

  • Tracing algorithms · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Using trace tables · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Testing principles · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Trace tables tutorial GCSE Computer Science · YouTube · Computer Science Tutorials · 5 min · for registered students

Further resources

  • Introduction to Computer Science, 9.3: Testing · PDF · OpenStax Introduction to Computer Science (2024), 9.3 Testing: levels of testing, black-box and white-box testing, verification and validation, pp. 468–472 · for registered students
  • Python Notes for Professionals, ch. 192: Unit Testing · PDF · GoalKicker Python Notes for Professionals, ch. 192: writing simple tests with unittest and assertions (a step up), pp. 772–779 · for registered students
  • Transition from passive learner to critical evaluator through peer-testing of programming… · Open-access article · Grov et al. (2017), New Directions in the Teaching of Physical Sciences. Students learn to design test cases by peer-testing each other's programs. · for registered students
Materials marked “for registered students” open in the student portal, which is set up as soon as you receive final acceptance.
Course chat

Admitted students ask questions on this week’s page in the student portal: an AI assistant trained on the course answers first, and during the course’s timetabled classes Connect to your tutor brings your tutor into the chat, who may start a call if needed.

Open this week in the portal
Course plan
  • Week 1: Data structures: arrays, lists, stacks, queues, sets and di…
  • Week 2: Choosing data structures, with a Python refresher
  • Week 3: Measuring complexity: Big O notation
  • Week 4: Problem classes: computability and Turing machines, P and N…
  • Week 5: Recursion and memoisation (e.g. Tower of Hanoi); the memory…
  • Week 6: Algorithmic paradigms: divide and conquer, backtracking, gr…
  • Week 7: Sort, search and pathfinding algorithms compared by time an…
  • Midterm: Midterm evaluation
  • Week 9: Writing pseudocode as a universal template for algorithms
  • Week 10: Checking algorithms are correct: tracing, testing and timing
  • Week 11: Debugging and testing implementations; review and practice …
  • Week 12: Applying Algorithms and Data Structures in practice: case s…
  • Week 13: Assignment workshop: research, planning and referencing
  • Week 14: Assignment workshop: drafting, feedback and improvement
  • Week 15: Review and coursework completion
  • Final: Final assessment and submission
Back to the course
Scroll