CS 335: Algorithms

Undergraduate course, University of Wisconsin-Eau Claire, Department of Computer Science, 2023

September 2023 - present

This course covers the design and analysis of algorithms and their complexity, as well as the use of complex abstract data types. Topics include divide-and-conquer, dynamic programming, backtracking, trees, graphs, hashing, and the analysis of sorting algorithms. Prerequisites: CS 245, concurrent enrollment in MATH 314.

Course Objectives

  • Students should be able to match the algorithm techniques of brute force, greedy, backtracking, divide and conquer, and dynamic programming to specific problem domains.
  • Students should be capable of designing efficient algorithms; both iterative and recursive.
  • Students should be able to demonstrate proficiency in implementing foundational algorithms covered during the course.
  • Students should be able to judge the efficiency of an algorithm.
  • Students should be able to recognize common bottlenecks and identify ways of addressing them.