About CS 224 A

Comprehensive study of algorithms including greedy algorithms, divide and conquer, dynamic programming, graph algorithms and network flow. Computational intractability. Approximation, local search and randomization. Prerequisite: CS 124. Pre/co-requisites: Recommended: CS 125; STAT 143, STAT 151, or CS 128.


Prereqs enforced by the system: CS 124

Section Description

We will study broad classes of algorithms including greedy algorithms, divide-and-tackle algorithms, dynamic programming, and network-flow algorithms. Students will learn how to characterize the complexity of algorithms. We will discuss NP and NP completeness and advanced algorithm design methods for hard problems, such as approximation. Students will do written assignments involving proofs and the tracing of algorithms and programming assignments that implement some of the algorithms presented in class. The required text is Algorithm Design by Kleinberg and Tardos (ISBN-10: 0321295358).

Section Expectation

There will be two exams, written assignments, and programming assignments (in Java).


Final grades will be assigned based on written and programming assignments, the exams, and course attendance.

Course Dates



Kalkin Building 001 (View Campus Map)


to on Monday, Wednesday and Friday

Important Dates

Note: These dates may change before registration begins.

Note: These dates may not be accurate for select courses during the Summer Session.

Last Day to Add
Last Day to Drop
Last Day to Withdraw with 50% Refund
Last Day to Withdraw with 25% Refund
Last Day to Withdraw


    There are no courses that meet this criteria.