Algorithms Analysis and Data Structures

Course code CSTP 1305

Credit 3.0

Length 60.0 hours

Course outline View

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.

Indigenous Territory Acknowledgment

VCC is located on the traditional territories of the xʷməθkʷəy̓əm (Musqueam), Sḵwx̱wú7mesh (Squamish), and səlilwətaɬ (Tsleil-Waututh) peoples who have been stewards of these lands since time immemorial.