CS/ECE 374 A (Spring 2024)

Introduction to Algorithms & Models of Computation



Course Staff

Instructors Teaching Assistants Course Assistants
Timothy Chan (tmc)
Ruta Mehta (rutameht)
Alex Desjardins (aed6)
Ahsan Gilani (ahsang2)
Zhengcheng Huang (zh3)
Rhea Jain (rheaj3) (head TA)
Sonali Merchia (merchia2)
Haoxiang (Tommy) Sun (hs23)
Yuancheng Yu (yyu51)
Shiliang Zuo (szuo3)
Abhi Annaluru (abhia2)
Rahul Bansal (rahulb4)
Brendan Biernacki (bab8)
Sushruth Booma (sbooma2)
Alex Broihier (adb12)
Tianyue Cao (tc37)
Tue Do (tuedo2)
David Fu (jiahaof4)
Aniket Gargya (agargya2)
Sebastian Gluszak (sglus2)
Sambhav Gupta (sambhav4)
Jacob Levine (jlevine4)
Sean Liu (zxliu2)
Meghan Lu (meghan7)
Shashwat Mundra (mundra3)
Ashay Parikh (ashayp2)
Pranav Pullabhotla (pranav19)
Sam Shi (mshi17)
Kaushik Varadharajan (kv22)
Allison Ye (ay14)
Maxwell You (myou6)
Ryan Ziegler (ryanjz2)

We are also grateful to the TheorieLearn team for developing materials on PrairieLearn for our guided problem sets (GPSs).

Meeting Time/Place

There are two lectures per week, and two lab/discussion sessions per week. Lectures will be recorded and made available in mediaspace to registered students.

AL1 Lecture TR 11:00am-12:15pm THEAT Lincoln Hall Timothy Chan / Ruta Mehta
AYJ Discussion WF 9:00am-9:50am Siebel 1304 Haoxiang Sun
AYK Discussion WF 10:00am-10:50am Siebel 1304 Haoxiang Sun
AYA Discussion WF 11:00am-11:50am Siebel 1304 Rhea Jain
AYB Discussion WF 12:00pm-12:50pm Siebel 1304 Alex Desjardins
AYC Discussion WF 1:00pm-1:50pm Siebel 1304 Yuancheng Yu
AYD Discussion WF 2:00pm-2:50pm Siebel 1304 Ahsan Gilani
AYE Discussion WF 3:00pm-3:50pm Siebel 1304 Shiliang Zuo
AYF Discussion WF 4:00pm-4:50pm Siebel 1304 Zhengcheng Huang
AYG Discussion WF 5:00pm-5:50pm Siebel 1304 Sonali Merchia
AYH Discussion WF 6:00pm-6:50pm Siebel 1304 Sonali Merchia

Office Hours

See calendar below for the time and location of office hours.

Most office hours (except for Wednesdays and Saturdays) will be held in the open lounge area on the 3rd floor of Siebel (outside of 3240). Wednesday office hours from 12:00-2:50 will be in Siebel 0218. Saturday sessions are meant to be "homework parties", where students can work together and help each other, with course staff present to answer questions.

Timothy/Ruta will also hold a "conceptual" office hour on most Thursdays.


Homeworks

All guided problem sets ("GPSs") on PrairieLearn are due Tuesdays at 10:00am. All written homeworks are due Thursdays at 10:00am. We will post each week's homework about one week before the due date; we will post solutions here within a couple of days after the due date. Please carefully read the homework policies and academic integrity page!

Here are some selected past HW problems with solutions that you may find useful (both as extra practice problems, and as examples on how to write solutions):


Midterm 1

Midterm 2

Final Exam


About This Course

CS/ECE 374 covers fundamental tools and techniques from theoretical computer science, including design and analysis of algorithms, formal languages and automata, computability, and complexity. Specific topics include regular and context-free languages, finite-state automata, recursive algorithms (including divide and conquer, backtracking, dynamic programming, and greedy algorithms), fundamental graph algorithms (including depth- and breadth-first search, topological sorting, minimum spanning trees, and shortest paths), undecidability, and NP-completeness.

Prerequisites: 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 already know.

There is no required textbook, but Jeff Erickson's book is highly recommended. Notes/scribbles can be found in the lecture schedule page. Other useful resources (see also here):


Website generously borrowed from those of previous semesters.