Instructor:
Geri Georg
Office: 464 CS Building
Office Hours: 9am - 11am, 3pm - 4pm Mon & Wed, & arranged
Email: georg@colostate.edu
GTAs:
Cole Frederick, Ali Ebrahimpour Boroojeny
Office: CSB 120
Office Hours: Mon 11pm - 12pm (Ali), Tues 12pm - 2pm (Cole)
Office Hours: Wed 12pm - 2pm (Ali), Thurs 8am - 10am (Cole)
Office Hours: Fri 1pm - 2pm (Ali)

UTAs:
Shannon McPherson, Jim Xu
Office: CSB 120
Office Hours: Tues 1pm - 3pm (Shannon), Wed 10am - 12pm (Jim)
Office Hours: Fri 3pm-5pm (Jim)

Teaching Team Contact Email:
cs320@cs.colostate.edu
Lecture Time and Place:
2:00 - 2:50, Mon, Wed, Fri, Clark A102

CS 320 provides an introduction to Algorithms. The course is about learning and practicing principles for organizing your thinking when solving programming problems. It is not about memorizing details and facts. You will practice ways of establishing that an algorithm is correct and analyzing its time bound.

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. You will also learn to recognize what kinds of optimizations are a waste of your time, since they will have little or no impact on the running time of a program as a whole.

We will study big-O analysis at a more advanced level than in CS 200 on a variety of subjects:

  • divide-and-conquer strategy and techniques for bounding running times of such algorithms
    • dynamic programming
  • greedy algorithms and greedy proofs
  • algorithms of unlabeled graphs
    • depth-first search
    • recognizing bipartite graphs
    • topological sort
    • finding strongly-connected components
News:
Jim is now holding office hours Friday afternoons after class