ACS-29473 credit hours

Data Structures and Algorithms

Applied Computer Science · 3 hrs Lecture | 1 hrs Lab

Offered: Fall and Winter Both, Every Year

ACS-2947 prerequisites

4 courses appear in this chain, up to 3 levels deep. Every route through it involves a choice, so nothing is forced.

Show the chain

any one of

ACS-1904Programming Fundamentals II
ACS-1903Programming Fundamentals Imin C

any one of

Pre-Calculus Math 40S

Applied Math 40S

ACS-1805Introduction to Programmingmin C
ACS-1905Programming Fundamentalsmin C

all of

any one of

Computer Science 40S

equivalent

any one of

ACS-1805Introduction to Programmingmin C

Its prerequisites are shown above.

Pre-Calculus Math 40S

Applied Math 40S

Add your completed courses to see which of these you've already done and what you could take next. They stay on this device.

Taking ACS-2947 is a prerequisite for 12 courses directly, and opens 14 once their own follow-ons are counted.

  • ACS-3901Principles of Software Project Management
  • ACS-3913Software Design and Architecture
  • ACS-3921Computer Security and Privacy
  • ACS-3922Introduction to Game Development
  • ACS-3930Topics in Applied Computer Science
  • ACS-3931Principles of Operating Systems
  • ACS-3941Implementation Issues in Object Oriented Languages
  • ACS-3947Algorithm Design
  • ACS-3953Introduction to Artificial Intelligence
  • ACS-4306Applied Parallel Programming
  • ACS-4902Advanced Database Systems
  • ACS-4921Computer Security and Privacy

Where ACS-2947 counts

Required by 4 programs:

  • ACS 3-YEAR BA/BSc IN APPLIED COMPUTER SCIENCE
  • ACS 4-YEAR BSc IN APPLIED COMPUTER SCIENCE
  • ACS BSc (HONOURS) IN
  • STAT 4-YEAR BA/BSc IN STATISTICS

Read from the departments' own calendar pages, where 71 of 141 programs are only partly machine-readable, so treat these as a minimum rather than the full list. Confirm with an academic advisor.

Description

This course introduces fundamental data structures using an object-oriented programming language. Topics to be covered include vectors, multidimensional arrays, linked lists, stacks, queues, trees, graphs, recursion and algorithms.

Requisite courses

ACS-1904 or ACS-1905 with a minimum grade of C [prerequisite(s)]; ACS-2947L (lab) (must be taken concurrently).

LectureLab

From the 2026-27 undergraduate calendar. Always verify details on WebAdvisor or with an academic advisor before registering.