Current iteration - Fall 2024

This is not the current CS/ECE-374-B site if you want the current course website, click the big red button above. I have received many emails asking for my past course materials (mostly my lectures and exams) so I am keeping this site alive as a repository of the content I created during my tenure as a ECE374 instructor. I also spent a year learning Jekyll to create course website that is simple, clean, and lightweight on the front-end and is easy to update on the backend. I invite any professors to contribute to this effort and feel free to email me with any suggestions.



Dedication One of the most important things I've learned teaching a large course is that one's success is predicated on the abilities of the company he/she keeps and I have been very lucky to have great company. In particular, I would like to thank Sariel Har-Peled and Andrew Miller for being great co-instructors. Most of all, I would also like to thank my amazing graduate and undergraduate teaching assistants that have shown so much dedication to the students and helped prop me up even when I was completely overwhelmed. Teaching assistants make or break the course and these guys definitely made it.


Course Description 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. The course also has a strong focus on clear technical communication.

Forum (Piazza) Submit HWs (Gradescope) Gradebook (Canvas)

News

Older posts…

Schedule Quicklinks

August SunMonTueWedThuFriSat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
September SunMonTueWedThuFriSat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
October SunMonTueWedThuFriSat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
November SunMonTueWedThuFriSat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
December SunMonTueWedThuFriSat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

People

Faculty

This is me!

Nickvash Kani

Content Creators

Instructors who have created and contributed to the pool of 374 content.

Sariel Har-Peled
Jeff Erickson
Andrew Miller
Chandra Chekuri

Alumni graduate teaching assistants

Past graduate teaching assistants. Most have created/contributed to the notes and problems/solutions.

Sung Woo Jeon
Sindhu Vydana
Sandhya Perumenki
Sumedh Vemuganti
Weiyang Wang
Ziheng (Jack) Chen
Yueyi Shen
Haoyuan You
Hongbo Zheng
Neeraj Gangwar
Suyuan Wang
Owen Xu
Tue Ngoc Do
Nicholas Bampton
Gautham Varma
Jason Zhu
Nitin Balachandran
Haochen Shen
Zhongweiyang Xu
Emerson Sie
Junyeob Lim
Jinghan Huang

Alumni Undergraduate Teaching Assistants

Many of our past CAs. Most have moved on to successful careers but their time grading and hosting office hours won't be forgotten.

Ayu Seiya
Qing Wang
Mike Montano
Hamza Husain
Keerthana Nallamotu
Raghav Pramod Murthy
Raghav Pramod Murthy
Ved Eti
Brian Kim
Vishesh Prasad
Anirudh Kumar
Erin Kim
Siddhant Nanavati
Chris Deng
Ifesi Onubogu
Sarthak Kamboj
Max Shepherd
Kaifeng Lin
Zikui Wang
Jeep Kaewla
Kevin Lim
Rubin Zou
Xiangcan Li
Vaibhav Gupta
Prakarsh Gupta
Kunal Bhargava
Max Kopinsky
Pranav Gaka
Pratyush Thakur
Atharva Jain
Shreyas Sriram
Eric Carl Roth
William Ou
Terence Zeng
Skyler Gao
Kyle Chung
Ben Kim