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.
Missing prerequisites?
Learn more about VCC's academic upgrading or English as a Second Language (ESL) courses, or discover which university transfer options are right for you.
What you will learn
- 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
How to register
This course is offered as part of a VCC program only.
Course schedules
Select your program to see the available course schedules.
| CRN# | Duration | Delivery | Location | ||
|---|---|---|---|---|---|
| 60216 |
May 2, 2026 to August 8, 2026 |
Lab | VCC Downtown Campus | See full schedule |
Online courses listed without scheduled meeting times can be completed on your own schedule.
Contact us
If you have any question, please email at advising@vcc.ca.
† 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.