CS 341: Foundations of Computer Science II

 

Video modules of lectures

 

Below are video modules of the lectures. They cover the same material as in the face-to-face section. Students in the face-to-face section are also welcome to watch the videos.

 

You should be able to play the video modules in your web browser. The tables below explain how each module corresponds to the slides in the lecture notes, as well as

the schedule for watching the videos.

 

 

Chapter 0

 

Module

Topics

Slides

Week

chap0  

·       Syllabus overview

Syllabus overview

1

chap0a

·       Course overview

0-1 to 0-6

1

chap0b

·       Alphabets and strings

0-7 to 0-18

1

chap0c

·       Languages

0-19 to 0-22

1

chap0d

·       Set relations and operations

0-23 to 0-32

1

chap0e

·       Sequences, tuples

·       Cartesian product

·       Power set

0-33 to 0-37

1

chap0f

·       Kleene star and positive closure

0-38 to 0-44

1

chap0g

·       Functions and operations

0-45 to 0-54

2

chap0h

·       Reflexive, symmetric, and transitive relations

·       Graphs

·       Boolean logic

·       Review of Chapter 0

0-55 to 0-63

2

 

 

Chapter 1

 

Module

Topics

Slides

Week

chap1a

·       Deterministic finite automaton (DFA)

1-1 to 1-11

2

chap1b

·       Examples of DFAs

1-12 to 1-20

2

chap1c

·       Class of regular languages closed under union (Theorem 1.25) and intersection

1-21 to 1-35

2

chap1d

·       Nondeterministic finite automaton (NFA)

1-36 to 1-45

3

chap1e

·       Example of converting NFA to equivalent DFA

1-46 to 1-55

3

chap1f

·       Theorem 1.39:  Every NFA has an equivalent DFA.

·       General algorithm to convert NFA to equivalent DFA

1-56 to 1-58

3

chap1g

·       Using NFAs to show that class of regular languages closed under union (Theorem 1.45), concatenation (Theorem 1.47), and Kleene star (Theorem 1.49)

1-59 to 1-67

3

chap1h

·       Regular expressions

1-68 to 1-75

3

chap1i

·       Theorem 1.54 (Kleene’s theorem):  Language is regular (DFA) iff it has regular expression.

·       Lemma 1.55:  Regular expression implies regular

1-76 to 1-82

3

chap1j

·       Lemma 1.60: Regular implies regular expression

1-82 to 1-89

4

chap1k

·       Example to convert DFA to regular expression

·       Finite languages are regular

1-90 to 1-95

4

chap1l

·       Theorem 1.70:  Pumping lemma for regular languages

1-96 to 1-103

4

chap1m

·       Examples of proving specific languages are nonregular

1-104 to 1-108

4

chap1n

·       More about pumping lemma

·       Review of Chapter 1

1-109 to 1-114

4

 

 

Chapter 2

 

Module

Topics

Slides

Week

chap2a

·       Context-free grammars (CFGs) and languages

2-1 to 2-7

4

chap2b

·       Examples of CFGs

2-8 to 2-13

5

chap2c

·       Derivation (parse) trees

2-14 to 2-19

5

chap2d

·       Chomsky normal form

·       Theorem 2.9:  Every CFL has a CFG in Chomsky normal form

2-20 to 2-31

5

chap2e

·       Pushdown automaton (PDA)

2-32 to 2-39

5

chap2f

·       Example of PDA processing string

·       Formal definition of PDA computation

·       Examples of PDAs for specific languages

2-40 to 2-55

5

chap2g

·       Theorem 2.20:  CFG iff PDA

·       Corollary 2.32:  Regular languages are context-free.

2-56 to 2-79

5

chap2h

·       Pumping lemma for CFLs (part 1, general ideas)

2-80 to 2-89

6

chap2i

·       Pumping lemma for CFLs (part 2, including Theorem 2.34)

2-90 to 2-95

6

chap2j

·       Examples of proving specific languages are not context-free

2-96 to 2-100

6

chap2k

·       Closure properties of CFLs

·       Review of Chapter 2

2-101 to 2-105

6

 

 

Chapter 3

 

Module

Topics

Slides

Week

chap3a

·       Turing machine (TM) intro

3-1 to 3-9

6

chap3b

·       Formal definition of TM

3-10 to 3-18

6

chap3c

·       TM configurations

·       Formal definition of TM computation

3-19 to 3-26

6

chap3d

·       Turing-recognizable and Turing-decidable languages

·       Describing TMs

3-27 to 3-33

7

chap3e

·       Multi-tape TMs

·       Theorem 3.13:  Every multi-tape TM has an equivalent single-tape TM.

3-34 to 3-41

7

chap3f

·       Nondeterministic TMs

·       Theorem 3.16:  Every nondeterministic TM has an equivalent deterministic TM.

3-42 to 3-52

7

chap3g

·       Enumerators (Theorem 3.21) and other TM variants

3-53 to 3-56

7

chap3h

·       Algorithms

·       Church-Turing thesis

·       Hilbert’s 10th problem

3-57 to 3-64

7

chap3i

·       Encoding TM inputs

·       Decision problems (computational problems with YES/NO answer)

·       Review of Chapter 3

3-65 to 3-74

7

 

 

Chapter 4

 

Modules

Topics

Slides

Week

chap4a

·       Decision problems

·       Theorem 4.1:  ADFA (acceptance problem for DFAs) is decidable

4-1 to 4-7

8

chap4b

·       ANFA (Theorem 4.2), AREX (Theorem 4.3), EDFA (Theorem 4.4), EQDFA (Theorem 4.5) are decidable

4-8 to 4-14

8

chap4c

·       ACFG (Theorem 4.7), ECFG (Theorem 4.8) and every CFL (Theorem 4.9) is decidable

4-15 to 4-23

8

chap4d

·       Universal TM

4-24 to 4-26

8

chap4e

·       1-to-1 and onto functions

·       Correspondences

·       Countable sets

4-27 to 4-34

8

chap4f

·       Uncountable sets

·       Theorem 4.17:  Set of all real numbers is uncountable.

·       Cantor’s diagonalization argument

·       Set of all TMs is countable.

·       Set of all languages is uncountable.

·       More languages than TMs, so some languages are not Turing-recognizable (Corollary 4.18).

4-35 to 4-41

9

chap4g

·       Theorem 4.11:  ATM is undecidable.

4-42 to 4-48

9

chap4h

·       Co-Turing recognizable: complement is Turing-recognizable.

·       Theorem 4.22:  Decidable iff Turing-recognizable and co-Turing recognizable.

·       Corollary 4.23:  Complement of ATM is not Turing-recognizable.

·       Review of Chapter 4

4-49 to 4-56

9

 

 

Chapter 5

 

Module

Topics

Slides

Week

chap5a

·       Reducibility

·       Theorem 5.1:  HALTTM is undecidable

5-1 to 5-8

9

chap5b

·       ETM (Theorem 5.2), REGTM (Theorem 5.3), EQTM (Theorem 5.4) are undecidable.

5-9 to 5-16

9

chap5c

·       Rice’s theorem

·       Theorem 5.13:  ALLCFG is undecidable.

5-17 to 5-23

9

chap5d

·       Mapping reducibility

5-24 to 5-30

10

chap5e

·       Theorem 5.22:  If A is mapping reducible to B and B is decidable, then A is decidable.

·       Corollary 5.23:  If A is mapping reducible to B and A is undecidable, then B is undecidable.

·       Theorem 5.28:  If A is mapping reducible to B and B is Turing-recognizable, then A is Turing-recognizable.

·       Corollary 5.29:  If A is mapping reducible to B and A is not Turing-recognizable, then B is not Turing-recognizable.

·       If A is mapping reducible to B and A is not co-Turing-recognizable, then B is not co-Turing-recognizable.

5-31 to 5-34

10

chap5f

·       ETM and EQTM (Theorem 5.30) are not Turing-recognizable.

·       EQTM is not co-Turing-recognizable (Theorem 5.30).

·       Review of Chapter 5

5-35 to 5-38

10

 

 

Chapter 7 (we are skipping Chapter 6)

 

Module

Topics

Slides

Week

chap7a

·       Running time of TM

7-1 to 7-7

10

chap7b

·       Big-O and little-o notation

7-8 to 7-16

10

chap7c

·       Running times for particular TMs

7-17 to 7-27

11

chap7d

·       Theorem 7.8:  Multi-tape TM can be simulated on single-tape TM with polynomial overhead.

7-27 to 7-30

11

chap7e

·       Theorem 7.11:  Nondeterministic TM can be simulated on a deterministic TM with exponential overhead.

7-31 to 7-37

11

chap7f

·       Class P (languages decided in polynomial time)

·       PATH is in P.

7-38 to 7-44

11

chap7g

·       RELPRIME is in P.

·       Pseudo-polynomial

7-45 to 7-48

11

chap7h

·       Each CFL is in P.

·       Overview of CYK algorithm (dynamic programming)

7-49 to 7-54

11

chap7i

·       Example applying CYK algorithm

7-55 to 7-65

12

chap7j

·       CYK algorithm

·       Runtime analysis of CYK algorithm

7-66 to 7-68

12

chap7k

·       HAMPATH

·       Verifiers and certificates

·       Polynomially verifiable

·       HAMPATH is polynomially verifiable

7-69 to 7-74

12

chap7l

·       Class NP (languages that are polynomially verifiable)

·       A language belongs to NP iff it has a nondeterministic polynomial-time TM.

7-75 to 7-80

12

chap7m

·       CLIQUE and SUBSET-SUM belong to NP.

·       Co-NP

·       P vs. NP question

7-81 to 7-88

12

chap7n

·       SAT

·       Polynomial-time mapping reducible

·       Theorem 7.31:  If A is poly-time mapping reducible to B and B belongs to P, then A belongs to P.

7-89 to 7-95

13

chap7o

·       Theorem 7.32:  SAT is poly-time mapping reducible to CLIQUE.

7-96 to 7-101

13

chap7p

·       NP-Complete

·       Theorem 7.35:  If there exists an NP-Complete language B with B in P, then P = NP.

·       Theorem 7.36:  If B is NP-Complete and B is poly-time mapping reducible to C with C in NP, then C is NP-Complete.

·       Theorem 7.37 (Cook-Levin):  SAT is NP-Complete.

·       Corollary 7.42:  3SAT is NP-Complete.

7-102 to 7-112

13

chap7q

·       Corollary 7.43:  CLIQUE is NP-Complete.

7-113 to 7-122

13

chap7r

·       ILP is NP-Complete

·       Review of Chapter 7

7-123 to 7-128

13

 

 

Review of Practice Problems for Final Exam and solutions as slides

 

Module

Topics

Slides

Week

review 1

Problems 1 and 2

1 to 13

14

review 2

Problem 3

14 to 21

14

review 3

Problem 4

22 to 27

14

review 4

Problems 5 to 8

28 to 34

14

review 5

Problem 9

35 to 40

14

review 6

Problem 10

41 to 46

14

 

Last Modified: 7/26/2023 11:38:47 AM