Satisfies the following student outcomes (SOs) via the following Performance Indicators:
- Analyze the computational complexity of algorithms by using discrete mathematics.
- Design test procedures for finding defects in software and hardware.
- Design and implement components and systems to process, i.e. acquire, store, organize, manipulate, access and present, varied amounts of data.
- Use a widely accepted high-level programming language, e.g. Java, C# and C++.
- Use a programming language in non-imperative paradigm, e.g. functional and logic.