Goals
The main goals for Week 4 are to:
- Implement and use the EVAL function. This is our first exposure to a modul of computing which is able to simulate an instance of itself. This idea is fundamental to the practice of computer science, as it enables us to have arbitrarily reprogrammable machines which run with fixed hardware.
- Begin classifying functions by complexity (i.e. resources required to implement them).
- Reason about how theory and practice might differ from one another, and why that might be a good thing.
Schedule
Day | "Tuesday" Cohort | "Wednesday" Cohort | "Thursday" Cohort | "Friday" Cohort | "Sunday" Cohort | "Monday" Cohort |
---|---|---|---|---|---|---|
Wed 16 Sep | Preparation | (Week 3) | (Week 3) | (Week 3) | (Week 3) | (Week 3) |
Thu 17 Sep | Preparation | Preparation | (Week 3) | (Week 3) | (Week 3) | (Week 3) |
Fri 18 Sep | Preparation | Preparation | Preparation | (Week 3) | (Week 3) | (Week 3) |
Sat/Sun 19/20 Sep | Cohort Meeting | Preparation | Preparation | Preparation | (Week 3) | (Week 3) |
Mon 21 Sep | Preparation | Cohort Meeting | Preparation | Preparation | Preparation | (Week 3) |
Tue 22 Sep | Assessed Cohort Meeting | Preparation | Cohort Meeting | Preparation | Preparation | Preparation |
Wed 23 Sep | Write-up Due | Assessed Cohort Meeting | Preparation | Cohort Meeting | Preparation | Preparation |
Thu 24 Sep | Week 5 | Write-up Due | Assessed Cohort Meeting | Preparation | Cohort Meeting | Preparation |
Fri 25 Sep | Week 5 | Week 5 | Write-up Due | Assessed Cohort Meeting | Preparation | Cohort Meeting |
Sat/Sun 26/27 Sep | Week 5 | Week 5 | Week 5 | Write-up Due | Assessed Cohort Meeting | Preparation |
Mon 28 Sep | Week 5 | Week 5 | Week 5 | Week 5 | Write-up Due | Assessed Cohort Meeting |
Tue 29 Sep | Week 5 | Week 5 | Week 5 | Week 5 | Week 5 | Write-up 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:
Cohort Problems for Week 4 [PDF]
Programming Problems for Week 4 [PY]
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.
After the Assessed Cohort Meeting, your Cohort Leader will select one problem that your cohort needs to write-up and submit. The write-up is due by 11:59pm on the day after your assessed cohort meeting (see the schedule above).
The PS4 Template provides directions and a template for producing the PDF file you will submit as your write-up.
Download the Problem Set 4 Template [zip].
Reading
- Ch. 4, Syntactic sugar and computing every function from the TOC textbook. In particular, we cover sections 4.4, 4.5, and 4.6 this week.
- Ch. 5, Code as data, data as code from the TOC textbook. In particular, we cover sections 5.1 through 5.5. We are skipping the optional section 5.2.1.
Videos
You can play all the videos using this playlist, but don’t forget to take breaks: Week 4 Playlist
These videos are edited from these cs3102 classes (we don't generally recommend watching the unedited versions, but they are available if you want to):
- (Spring 2020) Feb 6: Universality - Unedited Video Slides
- (Spring 2020) Feb 11: Evaluation - Unedited Video Slides
Computing Any Finite Function
Making Zero and One
How Many Gates?
Introducing EVAL
Representing Programs
Defining EVAL
Bonus Video
The 10,000 Domino Computer (from Stand-up Maths)