Interested in this course for Spring 2026? If you are a new UVM Advance/Non-Degree student, choose your course and complete the application form. If you are a current UVM student, enroll in a course through MY UVM Portal. If you have questions please chat with us or schedule a 15 or 30-minute virtual meeting with an Enrollment Coach.

About CS 3240 B

Comprehensive study of algorithms including greedy algorithms, divide and conquer, dynamic programming, graph algorithms and network flow. Computational intractability. Approximation, local search and randomization. Credit not awarded for both CS 3240 and CS 5240. Prerequisite: CS 2240. Pre/co-requisites: Recommended: CS 2250; STAT 2430, or STAT 2510.

Notes

Prereqs enforced by the system: CS 2240; Recommended: CS 2250; STAT 2430, or STAT 2510; Co-located with CS 5240 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 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.