Hi, welcome to CS 219: Advanced Algorithms! This course provides comprehensive training for designing, analyzing, implementing, and reasoning efficient algorithms. Designing efficient algorithms is one of the most useful skills in computer science, and this course will boost your understanding and skills for it.

We will use CampusWire for online discussions, and GradeScope to submit homework assignments. The invitation will be sent to your emails at the beginning of the quarter. The course announcements will be sent via Canvas or CampusWire, so please make sure you enable email notifications from these systems.

You will likely find this course to be difficult. There are several reasons. First, from the course label and name, we can see CS 219 is the hardest algorithm course at CS@UCR. Second, the material covered in the course, combines both theory (analysis of algorithms) and practice (implementing them), and thus require you to have solid background in both math and programming. Third, this course will require generating your own algorithms in addition to just memorizing and understanding existing algorithms. If you don’t know programming, then there will also be the additional overhead of learning coding, and you should start learning it immediately. There are many online resources for doing so.

Please make sure you understand the policy of the course, especially about Academic Integrity.

Prerequisites: CS 218 with “B-” or better (“A-” recommended).

You should still attend the course and do the homework on time, even if you cannot register before the quarter. If you need more information, you should send an email to the instructor. Remember this is a 10-week course, so if you miss several lectures and homeworks, it is less likely that you can make up.


  • Yan Gu

    - Email: ygu [at] cs.ucr.edu
    - Lectures: Tue & Thu 12:30 – 1:50 PM
    - Classroom: WCH 142


  • Xiaojun Dong

    - Email: available on Campuswire

A Quick Note about emailing course staffs

Please refrain from unnecessarily emailing course staff because the emails are likely to be ignored (although usually unintentionally), or you may get a response very late if that person is busy at that time. We recommend you to post on CampusWire that is visible only to TAs and instructors, and thus anyone seeing the post can reply. You could (and should) email instructors privately in cases that require privacy.


You can add the this to your Google Calendar if you want (by clicking the little “+” bottom right). All the lectures and assignment deadlines are included in this calendar.