Current course
Design and Analysis of Algorithms
Spring 2012, CSCI 5454 (and via CAETE)
Algorithms are the heart of computer science, and their essential nature is
to automate some aspect of the collecting, organizing and processing of
information. Today, information of all kinds is increasingly available
in enormous quantities. However, our ability to make sense of all this
information, to manage, organize and search it, and to use it for practical
purposes, e.g., self-driving cars, adaptive computation, search algorithms
for the Internet or for social networks, artificial intelligence, and many
scientific applications, relies on the design of efficient algorithms, that
is, algorithms that arefast, use little memoryand provide guarantees on
their performance.
This graduate-level course will cover a selection of topics related to
algorithm design and analysis. Topics will include divide and conquer
algorithms, greedy algorithms, graph algorithms, algorithms for social
networks, computational biology, optimization algorithms, randomized data
structures and their analysis. We will not cover any of these topics
exhaustively. Rather, the focus will be on algorithmic thinking, efficient
solutions to practical problems and understanding algorithm performance.
Advanced topics will cover a selection of modern algorithms, many of which
come from real-world applications.
Future courses
Spring 2013, CSCI 5454: Design and Analysis of Algorithms
Fall 2013, CSCI 7000: Inference, Models and Simulation for Complex Systems
Past courses
Fall 2011, CSCI 7000: Inference, Models and Simulation for Complex Systems
Spring 2011, CSCI 5454: Design and Analysis of Algorithms
Fall 2010, CSCI 7000: Inference, Models and Simulation for Complex Systems