About CS 5240 A

Studies how to design and analyze computer program algorithms to solve real-world problems. Begins with a review of the concept of algorithm complexity and basic graph algorithms; and then covers algorithm design approaches such as greedy, divide and conquer, dynamic programming, and network flow; then, computational intractability will be treated. Credit not awarded for both CS 5240 and CS 3240. Prerequisite: Familiarity with data structures and elementary algorithms; Graduate student.

Notes

Familiarity with data structures and elementary algorithms; Co-located with CS 3240 A; Total combined enrollment: 45

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.

Section Expectation

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

Evaluation

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

Important Dates

Courses may be cancelled due to low enrollment. Show your interest by enrolling.

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

Resources