Request:
Jeff tends to talk too fast. Please help him go
pole pole slowly.
- Please ask questions.
When you email me something put 2001 in the subject.
- A photos helps if you want me to know who you are.
Mandate:
Teaching numerous courses has led me to believe that a lack of
abstract and logical thinking, along with a shallow grasp of the big
picture, is often the root cause of student struggles.
To address this, I explain the same material from many perspectives,
aiming for at least one to resonate with your subconscious.
To ensure you aren't overwhelmed, I offer detailed insights on the
main topic while keeping peripheral matters in a more relaxed context.
How to Study:
Watch, Pause, Think, and Unpause the slides/videos.
Try to solve things yourself.
If you get stuck, watch for another slide or two.
Repause it. Was that enought of hint so that you can now solve it?
After watching the entire solution, ask yourself what you were missing.
Maybe set all notes aside and see if you can now write up the solution on your own.
Texts: (No text is required.)
- Some online
notes that I (Jeff Edmonds) wrote years ago when
teaching this course.
- Michael Sipser. Introduction to the Theory of Computation.
- Harry R. Lewis and Christos H. Papadimitriou, "Elements of the Theory of Computation",,
- J. E. Hopcroft and J. D. Ullman, "Introduction to Automata Theory",,
Addison-Wesley.
- Ding-Zhu Du and Ker-I Ko. Problem Solving in Automata, Languages, and
Complexity. Wiley, 2001.
- John C. Martin. Introduction to Languages and the Theory of
Computation. McGraw-Hill, 2003.
- Daniel Solow. How to Read and Do Proofs: An Introduction to
Mathematical Thought Processes. Wiley, 2002.
- A freely downloadable book on the foundations of Computer Science is
here.
- A freely downloadable book on Discrete Math
is here.
- Veritasium -
Math's Fundamental Flaw
(ppt) Power Point Slides
5 Video from past year (5 mins)
5 Video from this year (5 mins)
See video above
Video covers more than needed.
Video Missing
Pooh
0 Intro: (ppt)
1 Predicate Logic:
(ppt)
(Before a student can understand or prove anything in mathematics, it
is essential to first be able to represent it in first order logic.)
Jeffs Logic Chapter,
Logic Questions, &
Solutions
2 Models of Computability:
(ppt)
3 Deterministic Finite Automata - Machine:
(ppt)
4 Deterministic Finite Automata and Regular Languages
Classes:
(ppt,
longer)
5 Context Free Grammars:
(ppt)
(Historic and mathematical ways of modeling machines for computing.)
00
Intro
01
1:03
History & Overview
01
Church's Thesis
01
Goto vs Loop Models
02
35
Table Look Up and TM
03
36
Turing Machines
04
Levels of Abstraction
05
1:03
Sum mod 100 Example
06
17
Compile Time vs Run Time
06
17
Steps for writing a TM from Java code
07
48
3:23
Shifting Example
07
Insertion Sort1
Insertion Sort2
08
16
Adding Example (single tape)
08
Adding Example (multi tape)
08
Table Lookup Example
09
4
Single vs Multi Tape TMs
09
5
Java to TM
09
5
Constant vs Finite vs Infinite
10
14
Universal TM
11
20
Other Models of Computation
12
4
Languages, Machines, and Classes
(Useful for modeling simple machines eg coke machine.)
01
14
Read-Once and Bounded Memory
02
Constant Memory
03
6
Loop Invariants
04
4
Code with Simple Loop
05
10
Deterministic Finite Automata
06
Path Through Graph
07
19
Focus on States
08
10
DFA: Formal Definition
09
DFA "knowing" and distinguishable strings
10
25
(Extended) Regular Expressions
11
16
Parsing with Regular Expressions
12
Examples:
1
27
Simple examples
2
11
0*1* vs 0n1n
3
30
Mod Counting
4
4
Any Finite Language
5
5
Adding two Integers
6
Calculator
7
5
Syntax Processor
14
Nondeterministic Finite Automata:
15
Proofs:
90
1:20
DFA Review
(We classify computational problems based on the amount of resources
used to compute them.)
(Useful for modeling and parsing languages.)
01
29
Context Free Grammars
Chomsky Hierarchy
Ambiguity
Java Like Example
Human Languages
02
17
Union, Concat, Spew, & Plop
03
13
Recursion
04
28
Parsing/Compiling (short/long)
05
36
Not Closed under Complement
06
24
Closure and Proof Big Enough (short/long)
07
3
NFA to Context Free Grammar
08
4
18
Push Down Automata (short/long)
09
14
Parsing using Dynamic Programming
10
12
41
TM to Context Sensitive Grammars (short/long)
6.0 Countable and Uncountable Infinite:
(ppt)
(There are more real numbers than fractions and the same number of
fractions as integers.)
6.1 Halting Problem is Uncomputable:
(ppt)
(Some computational problems are solved by NO algorithms.)
6.2 Reductions For Uncomputability:
(ppt)
(Knowing that some computational problems are hard, we prove that
others are.)
6.3 No Proof System for Number Theory:
(ppt)
(Godel proved that there is no mechanical way of proving everything in
mathematics.)
7 NP-completeness:
(ppt)
(Reductions involve writing an algorithm for one problem from that for
another. NP-Completeness give strong evidence that most search
problems that industry cares about are believed to not have poly-time
algorithms.)
99 Machine Learning Made Easy:
(ppt),
ML Labs
(The basic math needed to understand machine learning)
-
Teaching in Cameroon in 2020
- Taught for EECS2001 in 2019
- A Good Book
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.