Raghu Meka: CS181: Introduction to Theoretical Computer Science Fall 2021
Introduction
The official title for the course is Formal Languages and Automata Theory. This offering will be geared towards introducing you to the beautiful and profundly impactful world of Theoretical Computer Science (TOC). The following three questions encompass our main learning goals:
1. What is computation?
How different is the iMac Pro really from Apple III?
2. Can we compute our way out of everything?
How about predicting Stack Overflow
errors at compile time?
3. What can we compute efficiently?
The computational version of are we there yet?
At the end of the course I hope you would have learnt something about the nature of computing, universality in computing, and limitations of computing.
Logistics and Resources
Lecture hours: M-W 12-1:50 : Moore 100
- Zoom Link. You need password as announced in class.
- Lecture 10 will be held virtually on Friday 10/29 from 12-1:50 (and recorded). (As we will have Exam 1 during regular class hours on 10/27).
- Lecture 16 will be held virtually on Friday 11/19 from 12-1:50 (and recorded). (As we will have Exam 2 during regular class hours on 11/17).
Course notes: We will use ScribbleTogether.
Course team: We will have four TAs roughly one for each of four sections.
- Hadley Black: I am a fourth year PhD student advised by Raghu Meka. I work in theoretical CS and currently focus on designing, and proving lower bounds against, randomized algorithms that test properties of large inputs. In my free time I really enjoy rock climbing and pickup basketball. You can email me at hablack@ucla.edu.
- Evan Becker: I am a second year PhD student in the CS department advised by Alyson Fletcher. My current research focuses on high dimensional problems in machine learning. On Saturday mornings you can catch me by Powell playing pick up soccer! Feel free to reach out with any questions at evbecker@ucla.edu.
- Jivan Gubbi: I am a first year MS student in the CS department and also got my undergrad degree at UCLA. In my free time I enjoy playing basketball/tennis, watching movies, and baking sourdough bread. You can email me at jcgubbi@g.ucla.edu.
- Andrey Storozhenko: I am a third year PhD student in theoretical CS advised by Alexander Sherstov. I focus on computational complexity, interactive proofs and communication complexity. When I take breaks from research, I watch movies, play guitar and do calisthenics. You can email me at storozhenko@cs.ucla.edu.
Discussion Sections Hours: Fridays. Expand for hours.
- Section A: 4 - 5:50 Royce Hall 190; (Jivan Gubbi)
- Section B: 12 - 1:50 Dodd Hall 161; (Evan Becker)
- Section C: 10 - 11:50 Online via Zoom; (Andrey Storozhenko)
- Section D: 2 - 3:50 Dodd Hall 121; (Hadley Black)
Office Hours: Exploit these!
- Instructor office hours: M-W, 2-3. On Zoom.
- Evan Becker: T/Th, 1-2. On Zoom.
- Hadley Black; M/W, 4-5. On Zoom.
- Jivan Gubbi: T/Th, 2-3. On Zoom.
- Andrey Storozhenko: M/Th, 10-11. On Zoom.
edStem: Our online space for asking, answering questions, and posting links to class material.
We will make use of edStem extensively. It will be our main way for communicating with each other. Please ask questions here so that others may also benefit from the knowledge.
We will also use it for releasing homework solutions. Homeworks themselves will be posted on the class website.
Register using the link emailed to your address on file (with CCLE). You can also register via the link above along with the code provided in first lecture.
Homework submission: On Gradescope; Due 9:59PM (Pacific time) on due date.
We will use Gradescope for homework and they have to be submitted by 10PM on their due date. Things to keep in mind: 1) Within a week of the course, you should receive a registration link from Gradescope. If you don't receive it before the first homework, contact the TAs immediately; this will give you access to the website. 2) Watch this one-minute video with complete instructions. Follow them to the letter! The simple guidelines make the process considerably smoother. 3) Make sure you start each problem of a homework on a new page. 4) To generate a PDF scan of the assignments, you can follow the instructions here; you can also use the scanners in the library.
Homework writing: LaTeX recommended highly
It is strongly recommended to use LaTeX or other word processing software for submitting the homework. Grades will take into account both the correctness and the quality of the solutions. Correctness is a prerequisite but clarity is also important: you are responsible for communicating your solution in a legible and understandable way.
Some helpful guidelines: (1) Start early to use office hours. (2) Serious/honest attempts count - there will be reasonable partial credit for attempts that show understanding of the problem/concepts involved.
Textbook: Introduction to Theoretical Computer Science by Boaz Barak
The textbook is available for free on the web with many other very useful resources. We will follow this very closely. Another great textbook to peruse is the classical Introduction to Theory of Computation by Michael Sipser.
If you are interested in learning more about TOC, for advanced but high-level overview these two books are highly recommended.
Homeworks
- Homework 6. Due Dec 4, 9:59 AM.
- Homework 5. Due Nov 29, 9:59 PM.
- Homework 4. Due Nov 15, 9:59 PM.
- Homework 3. Due Nov 8, 9:59 PM.
- Homework 2. Due Oct 25, 9:59 PM.
- Homework 1. Due Oct 11, 9:59 PM.
Grading
Homeworks: 6 x 4 pts.
Homeworks are realsed on Monday (by 7PM Pacific). Homeworks 1-5 will be due the following Monday (by 9:59 PM Pacific). Homework 6 will be due on Saturday at 9:59 PM Pacific (as final is on that Monday).
Homework Coverage and Dates: Expand to see details.
- HW 1 Oct 4 - 11: Lectures 1,2,3,4.
- HW 2 Oct 18 - 25: Lectures 5,6,7,8.
- HW 3 Nov 1 - 8: Lectures 9,10,11.
- HW 4 Nov 8 - 15: Lectures 12,13,14.
- HW 5 Nov 22 - Nov 29: Lectures 15,16,17,18.
- HW 6 Nov 29 - Dec 4: Lectures 19,20
Exams: 25, 25, 26 pts. We will have three non-cumulative exams in the course. Exam 1, Exam 2 will be in class (Moore 100) during lecture hours.
Exam Coverage and Dates: Expand to see details. Format and time to be decided.
- Exam 1 Oct 27 12-1:50 (Lecture time): Lectures 1,2,3,4,5,6,7,8.
- Exam 2 Nov 17 12-1:50 (Lecture time): Lectures 9,10,11,12,13,14.
- Exam 3 Dec 6 (Assigned time): Lectures 15,16,17,18,19,20.
Syllabus
Broad outline of the course content.
- Introduction: 2 Lectures (Chapters 0,1,2)
- Circuits: 3 Lectures (Chapter 3,5)
- Automata: 4 Lectures (Chapter 6)
- Turing Machines: 3 Lectures (Chapter 7,8)
- Universality and Computability: 3 Lectures (Chapter 9)
- Restricted Models of Computation: 2 Lectures (Chapter 10)
- Godel's Incompleteness Theorem: 3 Lectures
Course Policies
- There will be no makeup exams for the course. If the above dates do not work for you, you need to talk to me within the first week of classes.
- Regrade requests need to be submitted electronically on Gradescope within a week of receiving the graded work. Requests later than a week will not be handled (mainly to keep things flowing).
- If you are unsatisfied with the online response for your regrade request, bring it up during TA office hours. If that also does not resolve it, and only then, you can bring it up during instructor office hours (so that we have time to discuss course material during the limited office hours).
- We will use edStem for questions and discussions. Please ask questions related to assignments on that platform and not via email. Use this platform so that others can also benefit from your questions; if you want to communicate a private question, you can also do that on Campuswire.
- Collaboration on homeworks is encouraged, but each student must write their solutions independently and should clearly mention the collaborators. Keep in mind that just attempting the homeworks itself will get you reasonable partial credit and will go a long way towards better performance in the exams (which carry significantly more weight). You should never share your written solutions with someone else or copy from someone else's written solutions. Under no circumstances may you use solution sets to problems from previous year courses or from similar courses elsewhere or other resoruces on the web.