Algorithms Analysis and Data Structures (CSTP 1305)

Students learn the fundamentals of algorithm design and analysis through hands-on practice with various popular algorithms and data structures used in software development. Students learn how to analyze the time and space complexity of an algorithm and learn how to test and choose the right solution for a non-trivial programming problem.

The emphasis is on developing practical skills as well as the conceptual mastery of efficient algorithm selection. Important data structures covered in this course include: arrays and vectors, and trees and graphs. Popular algorithms and design strategies covered include: Recursion vs Iteration, Divide and Conquer, Greedy Techniques and basic sorting algorithms. This language of choice for this course is modern C++ or Java.
Course code: CSTP 1305
Credits: 3.0
Length: 60.0 hours
Course outline: view


CSTP 1205.


CSTP 1204.

Ask a question