Algorithms and Data Structures (CS4378.01)

Jim Mahoney

A survey of the most common patterns of storing digital information and the recipes to search, process, and access that information. Topics include data structures such as arrays, linked lists, stacks, queues, hash tables, and trees and algorithms such as brute force, divide and conquer, and recursion. Students will learn to compare the efficiency of these recipes and storage techniques, as well as how and when to use them. This intermediate level course will use a combination of the Python and C languages, reviewing and explaining specific features as needed and also practicing programming in those languages.

Students will require a MacOS, Windows, or Linux computer.

Learning Outcomes:
In this course you will

* learn how to analyze the run-time of an algorithm
* understand fundamental data structures such as linked lists and hash tables
* write code to implement a number of common algorithms
* improve your programming skills

Delivery Method: Remotely accessible
Prerequisites: A previous programming course such as Intro CS is required.
Course Level: 4000-level
Credits: 4
M/Th 1:40PM - 3:30PM (Full-term)
Maximum Enrollment: 20
Course Frequency: Once a year

Categories: All courses , Computer Science , Remotely Accessible