|
Course Basics
Section 01 [Lila]:
|
Monday, Wednesday, Friday 9:30am - 10:20am, Science Center 183
|
Lab A: |
Monday 1:15pm - 2:45pm, Clothier Hall 016 |
Lab B: |
Monday 3pm - 4:30pm, Clothier Hall 016 |
Section 02 [Joshua]:
|
Monday, Wednesday, Friday 10:30am - 11:20am, Science Center 183
|
Lab C: |
Monday 1:15pm - 2:45pm, Science Center 183 |
Lab D: |
Monday 3pm - 4:30pm, Science Center 183 |
There will be no required readings this semester. However, each week there will be suggested readings from the Kleinberg and Tardos book. If you have financial need regarding the required textbook, please come talk to your professor.
CLRS is not required but is a useful reference. ()
Welcome to CS41. This class explores algorithmic design and
analysis in a more formal approach than CS21 or CS35. Algorithmic
problems arise in many diverse areas of computer science. Often, one
must take open ended, abstract, real-world problems and extract a
clean mathematical problem that can be approached
algorithmically. Designing a solution requires knowing the rules and
common techniques of the model of computation used. Multiple models
represent various abstractions of real computer systems and may result
in very different solutions. Regardless of the model however, good
algorithmic design requires careful analysis of complexity and proofs
of correctness. Topics covered include asymptotic notation, graph
algorithms, greedy algorithms, divide and conquer, dynamic
programming, NP-completeness, approximation algorithms, and
randomized algorithms.
|