27 episodes

This is a rigorous undergraduate course on the Theory of Computation, using the classic text "Introduction to the Theory of Computation" by Michael Sipser. The course covers machine models and languages defined by Finite State Machines, Context-Free Languages, and Turing Machines.

There are four major theorems (and their uses) that we will study during this course, providing complete proofs: the pumping Lemma for regular languages, used to show that there are languages that are not regular; the existence of a Universal Turing Machine; undecidability of the Halting problem; and Cook's theorem that NP-complete problems exist. In addition to these major results, and other results, a central goal of the course is to increase student's skill level in understanding and writing rigorous mathematical proofs.

Theory of Computation - Fall 2011 Dan Gusfield

    • Technology

This is a rigorous undergraduate course on the Theory of Computation, using the classic text "Introduction to the Theory of Computation" by Michael Sipser. The course covers machine models and languages defined by Finite State Machines, Context-Free Languages, and Turing Machines.

There are four major theorems (and their uses) that we will study during this course, providing complete proofs: the pumping Lemma for regular languages, used to show that there are languages that are not regular; the existence of a Universal Turing Machine; undecidability of the Halting problem; and Cook's theorem that NP-complete problems exist. In addition to these major results, and other results, a central goal of the course is to increase student's skill level in understanding and writing rigorous mathematical proofs.

    • video
    Second Lecture on Godel's Incompleteness Theorem

    Second Lecture on Godel's Incompleteness Theorem

    Completion of the lecture on Godel's first incompleteness theorem.

    • 15 min
    • video
    Godel for Goldilocks: Godel's First Incompleteness Theorem

    Godel for Goldilocks: Godel's First Incompleteness Theorem

    Godel's first incompleteness theorem, requiring minimal background. You only need to know what an integer is, what a function is and that a computer program is a finite series of statements written in some finite alphabet.

    • 1 hr 11 min
    • video
    L26: Minimizing the number of states in a DFA

    L26: Minimizing the number of states in a DFA

    Completion of the method to minimize the number of states in a DFA for any regular language. A by-product is a proof that the minimizing DFA is unique for any given regular language.

    • 1 hr 25 min
    • video
    L25: Minimizing Finite State Machines

    L25: Minimizing Finite State Machines

    In this supplemental lecture we define what is meant by a minimized DFA, and introduce an efficient algorithm to minimize the number of states in a DFA for any regular language.

    • 1 hr 13 min
    • video
    L24: NP Completeness, Supplemental lecture 3

    L24: NP Completeness, Supplemental lecture 3

    Supplemental lecture 3 on less formal treatment of NP-completeness.

    • 50 min
    • video
    L23: NP Completeness, Supplemental lecture 2

    L23: NP Completeness, Supplemental lecture 2

    A second supplemental lecture on a more informal treatment of NP-completeness.

    • 45 min

Top Podcasts In Technology

The Instagram Stories Podcast
Daniel Hill - DanielHillMedia
Practical AI: Machine Learning, Data Science
Changelog Media
The Instagram Stories
The Instagram Stories, Daniel Hill
Waveform: The MKBHD Podcast
Vox Media Podcast Network
TikTok
Catarina Vieira
Deep Questions with Cal Newport
Cal Newport

More by UC Davis

Place, Identity and Practice, Winter 2011
Michael Rios
General Pyschology, Winter 2009
Victoria Cross
Molecular and Cellular Biology of Plants, Spring 2008
John Harada
UC Davis Commencement Speakers
University of California, Davis
Futures and Options
Collin Carter
Landscape Conservation & Sustainability: Fall 2015
Steve Greco