### What is this course?

CS 473 (officially "CS 498 DL1") is an algorithms course aimed at advanced undergraduates and graduate students in computer science and related disciplines. When the course is finally approved, it will be cross-listed as Math 473 and CSE 414.
### Prerequisites

CS 374 or equivalent, or graduate standing. In particular, we assume that students have *mastered* the material taught in CS 173 (discrete mathematics, especially induction) and CS 225
(basic algorithms and data structures).
See Stuff you should already know.
### Who is this course for?

- If you are an undergraduate who has taken CS 374, you are in the right place!
Welcome!
- If you are an undergraduate who has not taken CS 374 or an equivalent course, you are in the wrong place. You really do need to take CS 374 first.
- If you are a graduate student in computer science or a related discipline, you are in the right place! Welcome! In particular:
- If you are a CS PhD student whose program of study includes "CS 573", you are in the right place.
- Yes, even if you've already taken an undergraduate-level algorithms class.

- If you are a graduate student without an undergraduate background in computer science, you
*might* still be in the right place. Welcome! Past experience suggests that a strong background in proof-based mathematics is more important for success in this class than programming experience. If you have any concerns, please talk to the instructor.
- Finally, if you want an easy A, you are probably in the wrong place.

### Postrequisites

This course replaces CS 573 as a prerequisite for all 500-level algorithms courses, in particular:

### Degree requirements

This course is not specifically required for any program on campus, but it has been approved to satisfy requirements in each of the following programs:

However, because this is a 400-level course, it does **not** count toward the requirement in all graduate programs for 500-level credits.

*Parts of this web page are borrowed from previous versions of CS 473.*