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 chainHide the chain
any one of
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:
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).
From the 2026-27 undergraduate calendar. Always verify details on WebAdvisor or with an academic advisor before registering.