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

Applying Algorithms and Data Structures in practice: case studies

CYB404 · Algorithms and Data Structures — Week 12 of 16

CourseCYB404
Week12 of 16
SemesterII
TutorOnline in the course chat

This week’s topics

Applying Algorithms and Data Structures in practice: case studies

  1. Case analysis
  2. Linking theory to practice
  3. Evaluating evidence

What you will be able to do

  • 1.3 Analyse the impact of the choice of data structure on algorithmic performance.
  • 2.4 Evaluate open problems in problem classification and the impacts of future technologies on the difficulty in solving different classes algorithms.
  • 3.4 Critically analyse algorithmic paradigms such as the greedy approach and divide and conquer approach.
  • 3.5 Evaluate sort, search, and pathfinding algorithms in terms of their space and time complexity.
  • 4.3 Evaluate the correctness and speed of an algorithm.

Activity

Start with this week’s 2 videos, then: Case-study workshop: apply the unit’s concepts to a real or realistic case and evaluate the outcome.

Study materials

Videos

  • Approaching a programming project · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Evaluating the success of a programming project · Oak National Academy, Key Stage 4 (GCSE level) · for registered students

Further resources

  • Think Python, ch. 4: Case study – interface design · PDF · Downey, Think Python 2e (Green Tea Press), ch. 4: a worked small project showing a development plan, refactoring and docstrings, pp. 29–38 · for registered students
  • Ten simple rules for making research software more robust · Open-access article · Taschuk & Wilson (2017), PLOS Computational Biology. Short rules for making a small program reliable and testable. · for registered students
  • Best practices for scientific computing · Open-access article · Wilson et al. (2014), PLOS Biology. Practical rules on modular, readable, commented code. · 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