ENROLL Course Search

Saved Courses (0)

Your search for courses for 22/SP found 3 courses.

Revise Your Search New Search

CS 252.00 Algorithms 6 credits

Open: Size: 34, Registered: 31, Waitlist: 0

CMC 301

Synonym: 60522

David Liben-Nowell

A course on techniques used in the design and analysis of efficient algorithms. We will cover several major algorithmic design paradigms (greedy algorithms, dynamic programming, divide and conquer, and network flow). Along the way, we will explore the application of these techniques to a variety of domains (natural language processing, economics, computational biology, and data mining, for example). As time permits, we will include supplementary topics like randomized algorithms, advanced data structures, and amortized analysis.

Prerequisite: Computer Science 201 and Computer Science 202 (Mathematics 236 will be accepted in lieu of Computer Science 202)

CS 294.00 CS Tea Colloquium 1 credit, S/CR/NC only

Open: Size: 25, Registered: 20, Waitlist: 0

Olin 310

Synonym: 62982

David Liben-Nowell

Students earn credit by attending at least five of the research-based events in the Computer Science department's weekly colloquium series. Speakers come from academia, industry, nonprofits, and government, and present on a variety of topics, within and adjacent to computer science. Students will submit brief written reports after each talk that they attend.

Prerequisite: At least one CS course (concurrent enrollment is allowed)

CS 352.00 Advanced Algorithms 6 credits

Closed: Size: 34, Registered: 33, Waitlist: 0

Leighton 304

Synonym: 62001

David Liben-Nowell

A second course on designing and analyzing efficient algorithms to solve computational problems. We will survey some algorithmic design techniques that apply broadly throughout computer science, including discussion of wide-ranging applications. A sampling of potential topics: approximation algorithms (can we efficiently compute near-optimal solutions even when finding exact solutions is computationally intractable?); randomized algorithms (does flipping coins help in designing faster/simpler algorithms?); online algorithms (how do we analyze an algorithm that needs to make decisions before the entire input arrives?); advanced data structures; complexity theory. As time and interest permit, we will mix recently published algorithmic papers with classical results.

Prerequisite: Computer Science 252 or instructor permission

Search for Courses

This data updates hourly. For up-to-the-minute enrollment information, use the Search for Classes option in The Hub

Instructional Mode
Class Period
Courses or labs meeting at non-standard times may not appear when searching by class period.
You must take 6 credits of each of these.
You must take 6 credits of each of these,
except Quantitative Reasoning, which requires 3 courses.
Special Interests