Algorithms: final assessment
This covers the whole course. Take it after the last module.
Final quiz
Practical assessment: Build an exam timetable helper
Without using hints, write a program that reads a list of courses and exams, works out an order that respects every prerequisite, and fits as many exams as possible into one hall.
- Courses are put in an order that respects every prerequisite, and a circular requirement is reported clearly
- The largest set of non-overlapping exams for one hall is found with a greedy rule, and you can explain why it is correct
- Exams are sorted with a sort you wrote yourself
- A course can be looked up by its name with binary search
- The program compiles with no warnings under -Wall -Wextra
Final project
A delivery planner: Build a program that plans a day's deliveries: which parcels to load on a van with a weight limit, and the cheapest route to each customer.
How it is evaluated
- Correctness: the program does what every requirement says, including on empty and one-item cases
- Choice of algorithm: each part uses a method that suits it, and you can state its Big-O
- Reasoning: you can explain why the greedy and DP parts give the best answer
- Clarity: small functions with clear names, each doing one job
To complete this course
- Score at least 70% on the final quiz
- Solve the beginner and intermediate exercises in every lesson
- Finish the final project and check it against the evaluation criteria