Goals
This week, we introduce the most important and widely used model of computation, the Turing machine, and start to address the big question of what can and cannot be computed by any machine with a finite description.
The main goals for Week 9 are to:
- Understand what cannot be computed by a finite automaton and why.
- Use and understand Turing Machines as a model of computing.
- Study a definition of computability.
- Explore the powers and limitations of Turing Machines.
- Understand why some numbers are uncomputable, and what this means.
- Learn different variations on Turing Machines and how they can be transformed.
Schedule
Day | “Monday” Cohort | “Tuesday” Cohort | “Wednesday” Cohort | “Thursday” Cohort | “Friday” Cohort |
---|---|---|---|---|---|
Wed 20 Oct | Preparation | (Week 8) | (Week 8) | (Week 8) | (Week 8) |
Thurs 21 Oct | Preparation | Preparation | (Week 8) | (Week 8) | (Week 8) |
Fri 22 Oct | Preparation | Preparation | Preparation | (Week 8) | (Week 8) |
Sat 23 Oct | Prep Cohort Meeting | Preparation | Preparation | Preparation | (Week 8) |
Sun 24 Oct | Revision | Prep Cohort Meeting | Preparation | Preparation | Preparation |
Mon 25 Oct | Assessed Meeting | Revision | Prep Cohort Meeting | Preparation | Preparation |
Tues 26 Oct | Writeup Due | Assessed Meeting | Revision | Prep Cohort Meeting | Preparation |
Wed 27 Oct | (Week 10) | Writeup Due | Assessed Meeting | Revision | Prep Cohort Meeting |
Thurs 28 Oct | (Week 10) | (Week 10) | Writeup Due | Assessed Meeting | Revision |
Fri 29 Oct | (Week 10) | (Week 10) | (Week 10) | Writeup Due | Assessed Meeting |
Sat 30 Oct | (Week 10) | (Week 10) | (Week 10) | (Week 10) | 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 portion for this week.
Peer Evaluation
Your second peer evalution is due with your week 9 writeup. Please complete it following these instructions: Peer Eval.
Reading
This week we discuss the material contained in Chapter 7: Loops and Infinity.
Turing Machines and other similar models of computing are taught in many different ways in many different places. In addition to the course materials, you’ll find plenty of other presentations of this material available on youtube, other textbooks, lecture slides from other universities, blog posts, etc. Please be advised that there are many subtly different presentations of Turing machines, and so what you see elsewhere may differ from what we covered, but the key ideas are universal and should be the same in any good presentation. Typically minor changes are made to the model either for convenience of the context, or so real-world running times are more similar to the running time of the model (more on this in future weeks).
You can read Turing’s paper here: Alan M. Turing, On Computable Numbers, with an Application to the Entscheidungsproblem. 1936.
Videos
You can play all the videos using this playlist, but don’t forget to take breaks: Week 9 Playlist (note that in previous semesters this content was covered in week 8).
Some videos are edited from these cs3102 classes (we don’t generally recommend watching the unedited versions, but they are available if you want to):
-
(Fall 2019) Class 13: Machines: Full Video, Slides
-
(Fall 2019) Class 14: Computability: Full Video, Slides
Applications of Finite State Automata (6:27)
Warm-Up: Life on Mars (2:16)
Limitations of Finite Automata (6:40)
Turing Machines (5:37)
Turing Machine Example (17:59)
Turing Machine Definition (8:31)
What was Turing’s Model Modeling? (14:08)
Busy Beavers (5:12)
On Uncomputable Numbers (8:13)