CSCI 256
Algorithm Design and Analysis Fall 2019 (also offered Spring 2020)
Division III Quantative/Formal Reasoning

Class Details

This course investigates methods for designing efficient and reliable algorithms. By carefully analyzing the structure of a problem within a mathematical framework, it is often possible to dramatically decrease the computational resources needed to find a solution. In addition, analysis provides a method for verifying the correctness of an algorithm and accurately estimating its running time and space requirements. We will study several algorithm design strategies that build on data structures and programming techniques introduced in Computer Science 136. These include induction, divide-and-conquer, dynamic programming, and greedy algorithms. Additional topics of study include algorithms on graphs and strategies for handling potentially intractable problems.
The Class: Format: lecture
Limit: 24
Expected: 24
Class#: 1653
Grading: no pass/fail option, no fifth course option
Requirements/Evaluation: problem sets and programming assignments, and midterm and final examinations
Prerequisites: CSCI 136 and fulfillment of the Discrete Mathematics Proficiency requirement
Enrollment Preferences: current or expected Computer Science majors
Distributions: Division III Quantative/Formal Reasoning
Attributes: BIGP Recommended Courses

Class Grid

Updated 11:59 pm ET

Course Catalog Search

(searches Title and Course Description only)



Start Time
End Time