CSTP 2140: Algorithms and Data Structures
Effective date
September 2026
Department
Computer Systems Tech Diploma
School
Trades, Technology and Design
Description
Students learn the fundamentals of algorithm analysis and design through hands-on practice in this course. They study various algorithms and data structures frequently used in software development. Students learn to analyze the time and space complexities of algorithms and choose algorithms for non-trivial programming problems.
Data structures covered in this course include: arrays and vectors, lists, queues, stacks, and trees and graphs. Algorithms covered include: recursion, divide and conquer, greedy techniques and sorting algorithms.
Year of study
2nd Year Post-secondary
Prerequisites
CSTP 1204 or equivalent, taken prior to or concurrently.
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Explain the applications of common data structures
- Explain the difference between iterative and recursive algorithms
- Choose suitable data structures to solve practical problems
- Identify algorithmic bottlenecks in application code and suggest solutions
- Derive time and space complexities of common algorithms
- Select proper sorting algorithms for sorting a data collection
- Implement generic data structures such as linked list and binary trees
- Implement common traversal algorithms for data structures
Prior Learning Assessment & Recognition (PLAR)
None
Hours
Lecture, Online, Seminar, Tutorial: 30
Clinical, Lab, Rehearsal, Shop, Kitchen, Simulation, Studio: 30
Total Hours: 60
Instructional Strategies
Instructional strategies include classroom lectures, demonstrations, group discussions, computer labs and hands-on practical work.
Grading System
Letter Grade (A-F)
Evaluation Plan
|
Type
|
Percentage
|
Assessment activity
|
|
Assignments
|
60
|
|
|
Midterm Exam
|
20
|
|
|
Final Exam
|
20
|
|
Course topics
- The fundamentals of algorithm analysis
- Vectors and Arrays
- Lists
- Iteration vs Recursion
- Common Sorting algorithms
- Time and space complexity analysis
- Divide and conquer and greedy algorithms
- Stacks and queues
- Graphs
- Binary trees and balanced binary trees
- Tree traversal algorithms
Notes:
- Course contents and descriptions, offerings and schedules are subject to change without notice.
- Students are required to follow all College policies including ones that govern their educational experience at VCC. Policies are available on the VCC website at:
https://www.vcc.ca/about/governance--policies/policies/.
- To find out if there are existing transfer agreements for this course, visit the BC Transfer Guide at https://www.bctransferguide.ca.