Design and implementation of linear structures, trees and graphs. Examples of common algorithmic paradigms. Theoretical and empirical complexity analysis. Sorting, searching, and basic graph algorithms. Prerequisites: CS 110 with a grade of C- or better; minimum Sophomore standing.
Prereqs enforced by the system: C- or better in CS 110
You will learn the common data structures for abstract data types and algorithms, including lists, trees, heaps, sorting, hashing, and disjoint set finding/uniting. You will also consider and compare their performances. Course goals and objectives: 1) You will gain knowledge of different data structures and recognize the use cases for each. 2) You will consider not just whether algorithms function correctly or not, but also their efficiency and performance as the amount of data grows. 3) You will use the C++ programming language to collect data with and analyze data structures and algorithms.
This class is run lecture-style with practice problems and active learning activities sprinkled throughout. You will be expected to work for 6 hours outside of class each week, per University policy regarding work required for a 3 credit hour course.
Your final grade will be based on quizzes, programming projects, surveys, and a final exam.
Kalkin Building 001 (View Campus Map)
to on Monday, Wednesday and Friday
Note: These dates may not be accurate for select courses during the Summer Session.
Courses may be cancelled due to low enrollment. Show your interest by enrolling.
|Last Day to Add|
|Last Day to Drop|
|Last Day to Withdraw with 50% Refund|
|Last Day to Withdraw with 25% Refund|
|Last Day to Withdraw|
There are no courses that meet this criteria.