Week 2

Week 2: Bit Strings and Computing Models

At this point you should have been assigned to a cohort and met with them at least twice (once during your assigned prep time and once during your assessed time with a TA). This week, our main goals are:

  • Now that you’ve had some cohort experience, reflect on how to make the most out of your cohort experience this semester.
  • Begin exploration of the theory of computing, most importantly seeing the motivations for significant themes.
  • Discuss some similarities and differences between the theory and practice of computing.
  • Have you mind blown by infinities.
  • See and example of the limits of computing.
  • Learn a first model of computing.

Schedule

Here is the expected schedule for cohorts, based on the day of your assessed cohort meeting. This schedule will repeat similarly throughout the semester, with minor alterations occurring due to break days.

Day “Monday” Cohort “Tuesday” Cohort “Wednesday” Cohort “Thursday” Cohort “Friday” Cohort
Wed 1 Sept Preparation (Week 1) (Week 1) (Week 1) (Week 1)
Thurs 2 Sept Preparation Preparation (Week 1) (Week 1) (Week 1)
Fri 3 Sept Preparation Preparation Preparation (Week 1) (Week 1)
Sat 4 Sept Prep Cohort Meeting Preparation Preparation Preparation (Week 1)
Sun 5 Sept Revision Prep Cohort Meeting Preparation Preparation Preparation
Mon 6 Sept Assessed Meeting Revision Prep Cohort Meeting Preparation Preparation
Tues 7 Sept Writeup Due Assessed Meeting Revision Prep Cohort Meeting Preparation
Wed 8 Sept (Week 3) Writeup Due Assessed Meeting Revision Prep Cohort Meeting
Thurs 9 Sept (Week 3) (Week 3) Writeup Due Assessed Meeting Revision
Fri 10 Sept (Week 3) (Week 3) (Week 3) Writeup Due Assessed Meeting
Sat 11 Sept (Week 3) (Week 3) (Week 3) (Week 3) Writeup Due

Sept 6 Meeting

In class on Monday Sept 6 we discussed content related to week 2. In particular, we discussed models of computing, comparing models of computing, and uncountability (in particular diagonalization). A recording of this discussion is available in collab under “online meetings”. The slides presented are available here.

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 2 [PDF]

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.

The above problems include completing the function implementations in this python file (the comments in the file itself will guide you, please read everything linearly): straightline.py.

If you already have python3 on your machine, you should be good to go for the programming problems. If you don’t, please follow these directions to setup Python.

Write-up Problem

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

Download the Problem Set 2 Template [zip] and upload to overleaf. From there, add your solution to the appropriate .tex file for the problem assigned. Modify week2.tex to comment out \usepackage{toc} and instead be \usepackage[response#]{toc} where # refers to the number of the problem assigned.

Reading

Material in this week’s lectures parallels with:

  • TCS Chapter 2 for our discussions on what can and cannot be represented by binary strings.
  • This week’s discussion of Boolean circuits gives a high-level treatment of several sections of TCS Chapter 3. In particular, we give semi-formal coverage of sections 3.1, 3.2, 3.3, 3.5, and 3.6 (but we’ll discuss much of this in more detail next week).

Here are some things that may be of interest to you:

Videos

You can play all the videos using this playlist, but don’t forget to take breaks:Week 2 Playlist

Some Functions are Harder than Others (02:54)

What Parts Compute? (07:27)

Modeling Computers (08:16)

A set is smaller than its powerset (07:27)

Uncountability (20:56)

Uncountability (20:56)

AND-OR-NOT (04:32)

Programming with AND-OR-NOT (03:55)

Equivalence of NAND and AON (09:35)

Boolean Circuits (10:31)