| |
May 30, 2026
|
|
|
|
|
CS 3100 - Data Structures and Algorithms3 unit(s) Fundamental concepts and abstraction of data structures. The design and analysis of algorithms involving such data types and structures as stacks, queues, lists, heaps, hash tables, trees, maps, and graphs. Techniques for estimating the time and memory requirements of computer programs. Several large programming assignments.
Prerequisites: CS 2500.
Hours: (Lecture, 2 hours; laboratory, 2 hours)
Course Learning Outcomes List
At the conclusion of this course, the student should be able to:
-
Analyze algorithm complexity in terms of time and space requirements, including both worst- and average-case behaviour. Analyses should include non-recursive algorithms, and also simple recursive algorithms.
-
Explain / describe the behavior and performance trade-offs among classic sorting algorithms.
-
Explain / describe abstract data types, and inheritance.
-
Write programs that involve multiple classes of interacting code elements.
-
Write programs that involve reading and writing into files.
-
Write a program that makes use of or implements polymorphic behaviour via inheritance, abstract classes and interfaces.
-
Explain / describe the behavior of various tree and hashing algorithms, such as heaps, 2-3 trees, red-black trees, collision resolution algorithms in hashing, and more. (PLO 2.2)
-
Explain / describe graphs, including at least one significant graph algorithm.
-
Demonstrate knowledge of how to read code, write code, debug code, test code. Some of the code students implement, debug and test must be recursive. (PLO 1.2)
Schedule of Classes | University Bookstore
Add to Favorites (opens a new window)
|
|