**Mathematical Foundations of Computer Science**

** **

**Lecture Room: LSRC D106**

**Lecture Times: Tuesdays,
Thursdays 2:15-3:30 PM**

** **

**Class Lecture Schedule and
Lecture Notes**

__ __

**Thurs, January 11 Lecture
1: **

**(Readings: Sipser, Chapter
0.).**

** **

**Tues, January 16 Lecture 2: **

**Mathematical
Notations for Computations**

**(Readings: Sipser, Chapter
0, pages 3-25).**

** **

**Thurs, January 18 Lecture
3: **

**Finite
State Automata (FSAs), Part 1 **

**(Readings: Sipser, Chapter
1, pages 31-76).**

** **

**Tues, January 23 Lecture 4:**

**Finite
State Automata (FSAs), Part 2**

**(Readings: Sipser, Chapter
1, pages 76-83).**

** **

**Thurs, January 25 Lecture
5:**

** PDAs / CFLs, Part 1: Context Free
Grammars **

**(Readings: Sipser, Chapter
2.1, pages 91-100).**

** **

**Tues, January 30 Lecture 6:**

** PDAs / CFLs, Part 2: Pushdown Automata
**

**(Readings: Sipser, Chapter
2.2, pages 101-104).**

** **

**Thurs, February 1 Lecture
7:**

**PDAs
/ CFLs, Part 3: The CFLs are the languages of the PDAs **

**(Readings: Sipser, Chapter
2.2, 2.3 pages 104-119).**

** **

Tues, February 6 Lecture 8:

(Readings: Sipser, Chapters
3.1, 3.2, pages 125-141).

See also Biography of Alan Turing

** **

**Thurs, February 8**

** **

**Tues, February 13 Lecture
9:**

**Decidability,
Part 1: Decidable Problems **

**(Readings: Sipser, Chapter
3.3, pages 142-147, Chapter 4.1, pages 151-156).**

** **

**Thurs, February 15 Lecture
10:**

**Decidability,
Part 2: The Halting Problem **

**(Readings: Sipser, Chapter
4, pages 151-168).**

** **

**Tues, February 20 Lecture
11:**

**Decidability,
Part 3: The Halting Problem is Undecidable **

**(Readings: Sipser, Chapter
4.2, pages 159-168)**

**Background Reading:**

**Set Theory and Cantor's
Diagonalization Method**

** **

**Thurs, February 22 Lecture
12:**

**Reducibility,
Part 1: Reductions Between Problems **

**(Readings: Sipser, Chapter
5, pages 171-195).**

** **

**Tues, February 27 Lecture
13:**

**Reducibility,
Part 2: Linear Bounded Automata **

**(Readings: Sipser, Chapter
5, pages 171-195).**

** **

**Thurs, March 1 Lecture 14:**

**Reducibility,
Part 3: Computable Functions and Enumerable Sets (Readings: Sipser, Chapter 5, pages 171-195).**

** **

**Tues, March 6 Lecture 15:**

**Review of Automata &
Languages: Decidability & Undecidability**

** **

**Thurs, March 7: In class
Midterm Exam on Automata & Languages: Decidability & Undecidability**

** **

**Also, Thurs, March 7, 6PM:**

** **

**March 9-19 Spring Recess**

** **

**Prior to March 20, please
review material on complexity of algorithms (CPS130 material):**

**Complexity,
Part 1: Polynomial Time Computations **

**(Readings: Sipser, Chapter
7.1, pages 225-233, and Chapter 7.2, pages 234-240).**

** **

**Tues, March 20 Lecture 16:**

**Complexity,
Part 2: Nondeterministic Polynomial Time **

**and Complexity,
Part 3: Satisfiability & Circuits**

**(Readings: Sipser, Chapter
7.4, pages 241-259).**

** **

**Thurs, March 22 Lecture
17:**

**NP-completeness,
Part 1: An NP Complete Problem **

**(Readings: Sipser, Chapter
7.4, pages 248-259).**

** **

**Tues, March 27 Lecture 18:**

**NP-completeness,
Part 2: Lots More NP Complete Problems **

**(Readings: Sipser, Chapter
7.5, pages 254-271).**

** **

**Thurs, March 29 Lecture
19:**

**Space
Complexity, Part 1: Deterministic and Nondet. Space **

**(Readings: Sipser,
Chapters 8.1 pages 277-280).**

** **

**Tues, April 3 **

**Space
Complexity, Part 2: PSPACE-Complete Problems **

**(Readings: Sipser,
Chapters 8.2, 8.3, pages 281-283).**

** **

**Thurs, April 5 Lecture 20:**

**Quiz on NP-Completeness**

** **

**Tues, April 10 Lecture 21:
**

**Space
Complexity, Part 3: PSPACE Complete Games **

**(Readings: Sipser, Chapter
8.3, pages 283-289).**

** **

**(Optional Extra reading: Space Complexity, Part 4: NL and L
Sipser, Chapter 8.4,8.5,8.6, pages 294-302)**

** **

**Thurs, April 12 Lecture
22:**

**Computations
using Random Choice **

**(Readings: Sipser, Chapter
10.2, pages 333-339).**

** **

**(Optional Extra
Reading: Randomized
Primality Testing )**

** **

**Tues, April 17 Lecture 23:
**

** Approximately Optimal Computations **

**(Readings: Sipser, Chapter
10.1, pages 333-334).**

** **

**(Optional Extra
Reading: Approximation
Theory )**

** **

**Thurs, April 19 Lecture
24: **

**Quiz on Space Complexity **

** **

**Tues, April 24 Last
Lecture 25: **

**Review of Course Material
& Overview of Final Exam Topics**

** **