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. The language of choice for this course is modern Java.
Prerequisites
CSTP 1105.
Course type
This course is offered as part of a VCC program and cannot be taken individually.
International students: Eligibility is determined at the program level. Visit the program page for international student requirements and application information.
- The fundamentals of algorithm analysis
- Vectors and Arrays
- Iteration vs Recursion
- Common Sorting algorithms
- Time and space higher and lower bound complexity
- Divide and Conquer vs greedy algorithms
- Binary Trees, Balanced Trees
- Tree traversal algorithms
Course schedules
Select your program to see the available course schedules.
How to take this course
This course is offered as part of a VCC program only.
Contact us
If you have any questions, please email at [email protected].
† This information is intended as a guideline only. Program and course details are subject to change with the approval of VCC's Board of Governors.