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 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

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.