About CS 5240 B

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

Graduate standing only; Colocated with CS 3240 B; Total combined enrollment = 45 Open to degree and PACE students

Section Description

Understanding algorithm design methods such as greedy approach, divide and conquer, and dynamic programming; solving various algorithmic problems like graph traversal, network flow, path finding, etc.; proof of algorithm correctness and analysis of algorithm complexity; definition of complexity class NP and NP-completeness; algorithm design methods for hard problems, such as approximation and local search.

Section Expectation

Lecture course. 6 to 8 hours of work expected outside the classroom. Includes algorithm program coding (in Java) exercises. Required text: Algorithm Design by Kleinberg and Tardos (ISBN-10: 0321295358).

Evaluation

Weekly homework assignments, including 12 written assignments and five programming assignments.

Important Dates

Note: These dates may change before registration begins.

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

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

Deadlines
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

There are no courses that meet this criteria.

Interest Form

Remind yourself about CS 5240 B.

We'll send you a reminder before Fall 2025 registration begins.

Admin