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

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

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

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

- SO (i) – PI-i2.
- Explore topics not covered in lectures.

- SO (k) – PI-k1.
- Use a widely accepted high-level programming language, e.g. Java, C# and C++.

- SO (l) – PI-l2.
- Evaluate the quality attributes, such as dependability, efficiency, usability and security, of systems.