Satisfies the following student outcomes (SOs) via the following Performance Indicators:

- SO -1 – PI-a1.
- Analyze the computational complexity of algorithms by using discrete mathematics

- SO -2 – PI-c2.
- Evaluate and adapt standard algorithms, e.g. sorting, searching, string processing, graph processing, and parsing, for realistic tasks.

- SO -2 – PI-c3.
- Design and implement algorithms, heuristics and supporting data structures as packaged components.

- SO -7 – PI-i2.
- Explore topics not covered in lectures.

- SO -1-2-6 – PI-k1.
- Use a widely accepted high-level programming language, e.g. Java, C# and C++.