CS 473: About This Course

About This Course

What is this?
CS 473 is an algorithms course aimed at advanced undergraduates and graduate students in computer science and related disciplines. The course is officially cross-listed as Math 473 and CSE 414.
The course covers a wide range of algorithm design and analysis techniques including the following:
Grades will be based on regualr written homeworks (30% total), two midterms (20% each), and a final exam (30%). See the grading policies for more details.
CS/ECE 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). Note that "mastery" is not the same as "exposure" or even "a good grade"; hence, Homework Zero!
Am I in the right place?
Well, that depends.
This course is a recommended prerequisite for all 500-level algorithms courses, in particular:
Degree Requirements
This course is required for the following degree programs: This course also satifies requirements in each of the following degree programs: However, because this is a 400-level course, it does not count toward the requirement in all graduate programs for 500-level credits.

Class Resources

Web site
All course materials—announcements, course policies, detailed schedule, lecture notes, lecture videos, homeworks, homework and exam solutions—can be found here. Hey, look! You found it!
Lecture notes
There is no required textbook. A significant fraction of the class will follow Jeff's Algorithms textbook and related course notes, which are freely available online. Lecture notes / book chapters for all lecture topics are available on the schedule page; these will be revise and updates as the semester progresses. (The book web site also contains homeworks, lab handouts, and exams (but no solutions) from Jeff's past algorithms classes.)
The book and lecture notes have bugs. We will award extra credit to any student who identifies a mistake and offers a suitable correction on Piazza. Yes, typos and spellign mistaks count.
We plan to record all lectures, as in past semesters. Lecture videos should appear automatically on a separate page a few hours after each lecture. We will also add links to (self-recorded) lecture videos to the schedule web page as the semester progresses.

Videos of Jeff's lectures from Spring 2016 and Spring 2017 are also available.

Once the semester is underway, we will be using ClassTranscribe to automatically transcribe/caption lecture videos. Students can submit corrections to the automatic transcriptions. If we can work out the logistics, we plan to offer a modicum of extra credit for these corrections.
We will use Gradescope for homework submission and grading. Anyone can sign up for access to the CS 473 Gradescope site with their favorite alias and email address, using the self-enrollment code MJ8EWK. We will separately ask you for your alias, so that we can map your homework grades to you.
We will use Piazza for online discussions. Anyone can sign up for access with their favorite email address and the access code CS473. We strongly encourage posting questions on any course-related topic to Piazza rather than emailing the course staff. You can even post your questions anonymously. (However, we can only give you extra credit for helpful posts if you post them using your real name.)
I've collected a long list of other useful resources on a separate page.