This is an archived page from the Fall 2019 version of the course.
For the latest version, see https://uvatoc.github.io.

Week 4

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

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):

Computing Any Finite Function

Making Zero and One

How Many Gates?

Breaktime: Walk Outside

Introducing EVAL

Representing Programs

Breaktime: Learn a new word in a new language

Defining EVAL

Bonus Video

The 10,000 Domino Computer (from Stand-up Maths)

Breaktime: Play with Dominoes and try to make a NAND gate