Goals
The main goals for Week 5 are to:
- Understand what a complexity class is and how to provide properties about circuit-size complexity classes.
- Learn the asymptotic operators (Big-O, Ω, and Θ) and how to use them correctly.
- Be able to both intuitively understand what functions are in O(f(n)), and to prove membership or non-membership.
- Be able to connect the formal definitions of computing costs to practical questions about the cost of computing.
Schedule
Day | “Monday” Cohort | “Tuesday” Cohort | “Wednesday” Cohort | “Thursday” Cohort | “Friday” Cohort |
---|---|---|---|---|---|
Wed 22 Sept | Preparation | (Week 4) | (Week 4) | (Week 4) | (Week 4) |
Thurs 23 Sept | Preparation | Preparation | (Week 4) | (Week 4) | (Week 4) |
Fri 24 Sept | Preparation | Preparation | Preparation | (Week 4) | (Week 4) |
Sat 25 Sept | Prep Cohort Meeting | Preparation | Preparation | Preparation | (Week 4) |
Sun 26 Sept | Revision | Prep Cohort Meeting | Preparation | Preparation | Preparation |
Mon 27 Sept | Assessed Meeting | Revision | Prep Cohort Meeting | Preparation | Preparation |
Tues 28 Sept | Writeup Due | Assessed Meeting | Revision | Prep Cohort Meeting | Preparation |
Wed 29 Sept | (Week 6) | Writeup Due | Assessed Meeting | Revision | Prep Cohort Meeting |
Thurs 30 Sept | (Week 6) | (Week 6) | Writeup Due | Assessed Meeting | Revision |
Fri 01 Oct | (Week 6) | (Week 6) | (Week 6) | Writeup Due | Assessed Meeting |
Sat 02 Oct | (Week 6) | (Week 6) | (Week 6) | (Week 6) | Writeup Due |
Cohort Problems
These are the problems you should discuss in your Cohort Meeting, and everyone in your cohort should be prepared to present and discuss solutions to at the Assessed Cohort Meeting:
The problems are posted here and we think its a good idea to look at them early, but you’re not expected to be able to solve them until after doing the readings and watching the videos below.
There is no programming problem this week.
Writeup Problem
You writeups for this week will work a little differently from previous weeks. Since we will have a final exam in the course (and a midterm-like activity during the week of fall break) we wanted to give you experience solving problems on your own so that you can check your progress. As such, this week’s writeup will not be taken directly from this week’s problem set, and instead will be a new problem in the same style as problem 4.
Reading
This week focuses on material in Chapter 5: Code as data, data as code from the TCS textbook (which you already read last week, but we go into more depth on this week). The main theorems we focus on are in Section 5.2.
The TCS book does not provide a detailed presentation of the asymptotic operators, but reviews them in Section 1.4.8. Many books provide more detailed presentations of these concepts, and lots of examples. If you would like a more complex textbook explanation, the course instructors (at least one of them!) recommends this chapter: Chapter 7: Cost (from Introduction to Computing Explorations in Language, Logic, and Machines).
Videos
You can play all the videos using this playlist, but don’t forget to take breaks: Week 5 Playlist
Week 5 Intro (4:38)
Introducing Complexity (5:37)
Introducing SIZE (5:59)
Our First Complexity Proof (11:38)
Asymptotic Operators (7:06)
Understanding Asymptotics (10:40)
Big-Oh Examples (17:04)
Using Big-O (4:52)
Common Misuses of Asymptotic Notation (5:52)
Some Functions Are Expensive (7:36)
Cost of Computing (5:03)