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

Lex Fridman Podcast
Lex Fridman
Acquired
Ben Gilbert and David Rosenthal
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
BG2Pod with Brad Gerstner and Bill Gurley
BG2Pod
Darknet Diaries
Jack Rhysider
Deep Questions with Cal Newport
Cal Newport

More by UC Davis

Principles of Macroeconomics 2014
Ann Stevens
Principles of Microeconomics, Winter 2013
Hilary Hoynes
Romanticism, Spring 2009
Timothy Morton
Literature and the Environment, Fall 2008
Timothy Morton
World Economic History before the Industrial Revolution, Spring 2009
Gregory Clark
PSC100 - Introduction to Cognitive Psychology
Victoria Cross