This week’s topics
Applying Algorithms and Data Structures in practice: case studies
- Case analysis
- Linking theory to practice
- 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.