|
|
|
|
Instructor:
Teaching Assistant:
Meeting Times:
CSEP 521 E-mail Group
-
-
Click here to access the
course email archive.
Overview:
The goal of
this course is to help you become better prepared to tackle algorithm
design for "real-world" problems. This includes (1) understanding
fundamental algorithmic techniques and the tradeoffs involved in
designing correct, efficient and implementable algorithms, and (2)
knowing how to model and abstract messy real-world problems into clean
problems that can be attacked using known
paradigms or specific algorithms.
Hopefully,
you will gain a greater appreciation of the beauty and elegance of
algorithms as well as where they are used in the real world.
Specifically, we will go over some basic graph algorithms, we will
discuss what is efficient, and what can be solved efficiently
(NP-hardness and approximations), we will study some general techniques
to solve problems (dynamic programming, linear programming, greedy
algorithms), and will go over some online algorithms (for problems
in which the input is not known in advance). We will see how the above
algorithms and techniques can be applied to solve real-world problems such as resource allocation, scheduling,
and networking.
|