Course offered Fall97

At the heart of the Computer Science discipline is the notion of the design and analysis of algorithms. This course examines a number of algorithms that compose a standard toolkit of sorts that can be used to solve programming problems that occur often. Such algorithms include sorting, searching, and graph exploration and traversal. These algorithms will be used to develop the techniques and theory of algorithm analysis and design. Advanced topics of the course may include the design of efficient computer algorithms, proof of correctness of algorithms, and analysis of complexity (including NP-completeness). Advanced design paradigms include dynamic programming, and greedy algorithms.

Prerequisites: CS101, CS211 (Data Structures) and D232 (Discrete Math)

The three links below will take you to three separate web pages.

The first, written by Biana Kaneva at Smith College, shows sorting and graph searching algorithms and running times pictorially via Java.

The second, written by Doug Ierardi and Ta-WeiLi of USC and also written in Java, shows Binary Search Tree Applets, etc.

The third, written by Will Pierson at Duke University, shows an animated depth first search.

Sorting and Graph Searching

Binary Search Tree, etc.

Depth First Search

Back to Judy Franklin's page