CS 320 provides an introduction to algorithms, their correctness proofs, their complexity, algorithm classes, problems and problem classes.
The course is about learning and practicing principles for organizing your thinking when solving programming problems. Mastering these skills will allow you to discover and invent efficient algorithms of your own, by figuring out what steps are needed for correctness and to reduce running time. We will study a variety of subjects:
See syllabus for instructor and teaching assistant information.