EECS2001 EECS 2001: Introduction to the Theory of Computation
                                                      Jeff Edmonds: 2025 (C)    ACW 004


Jeff, Readme, Marking, Times, Dates, Description,
Enrolling, Mental Health, EClass, Zoom, 2025 Videos, Solutions

Topics (VIDEOS BELOW) Slides Ques Sol 2017 Sol
Intro
Predicate Logic
Turing Machines and other models
DFA Machines
DFA Classes
Context Free Grammars
Countable and Uncountable Infinite
Undecidability
Reductions For Uncomputability
No Proof System for Number Theory
NP-completeness
Machine Learning

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

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)
           (Historic and mathematical ways of modeling machines for computing.)

3 Deterministic Finite Automata - Machine: (ppt)
           (Useful for modeling simple machines eg coke machine.)

4 Deterministic Finite Automata and Regular Languages Classes: (ppt, longer)
           (We classify computational problems based on the amount of resources
           used to compute them.)

5 Context Free Grammars: (ppt)
           (Useful for modeling and parsing languages.)


Computing (Math 1090) (ppt):
Complexity (Math 1090) (
ppt): Classifying Computational Problems, NP, & Computable

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)

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.