Hi, welcome to CS141! 🎉

The course explores basic algorithm/data structure design and analysis. The topics cover general algorithm design techniques including analysis of algorithms, divide-and-conquer, the greedy method, dynamic programming, graph algorithms and basic parallel algorithms. In particular, we will also put a strong emphasis on the practice. In the course, we will consider both design and analyze the interesting algorithms in theory, and include some training to implement them!

⏰ Lectures: Tue/Thu 12:30 – 1:50 PM (Session I) / 6:30 - 7:50 PM (Session II)

🏫 Classroom: Sproul Hall 1102 (Session 1) [map] | MSE 116 (Session 2) [map]

We will use

The course announcements will be sent via Campuswire, so please make sure you enable email notifications. ⚠ If you have not been enrolled in the system, send me an email (yihans [at] cs.ucr.edu). I’ll add you to Campuswire, so that you won’t miss any important notifications.

⚠ You will likely find this course difficult. It is thus important for you to mentally prepare yourself for a difficult course. If you do your work, we are confident that you will finish this class with a satisfactory grade, and will one day (if not immediately) find what you learned in this course useful in your career (and fun, hopefully).

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

✅Prerequisites: CS014 (10C) with “C-” or better; CS111; MATH009C or MATH09HC; proficiency in C++ (or some other high-level programming languages).

If you want to understand whether CS141 (or this CS141) is the class you want to take, or learn how to prepare for the class, check the FAQ here.

Instructors:

TA:

  • Xiangyun Ding

    - ✉ Email: xiangyun.ding [at] email.ucr.edu
  • Youzhe Liu

    - ✉ Email: youzhe.liu [at] email.ucr.edu
  • Ziyang Men

    - ✉ Email: zmen002 [at] ucr.edu
  • Zijin Wan

    - ✉ Email: zwan019 [at] ucr.edu

🗓 Calendar:

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.


📘Textbook:

Introduction to Algorithms (CLRS).
Fourth Edition. Cormen, Leiserson, Rivest, and Stein. MIT Press.
[UCR Library Link]