CS310 Theoretical Computer Science
  
Course Syllabus
      
Fall 2006
      
  
Introduction
        
  
This course is an introduction to the mathematical foundations of the theory of computation. We will study automata theory, formal languages, the theory of computability and undecidability, and computational complexity. This material is central to many branches of computer science; it underlies the basic theory of compiler design, the efficiency of algorithms, and the limitations of computing.
  
Aim
        
  
Have a basic understanding of complexity theory, computability theory, and automata theory.
  
Objectives
        
  
  
Topics
        
  
•Mathematical notation  | 
    • Pumping Lemma 
            | 
  
• Proof by induction
                | 
    • Pushdown Automata 
            | 
  
• (Non) Deterministic Finite Automata 
                | 
    • Parsing (LL) 
            | 
  
• Regular Expressions 
                | 
    • Turing Machines
            | 
  
• Context Free Grammars 
            | 
    • Big O Notation 
            | 
  
  
  
  Instructor Details
        
  
Professor: Chadd
  Williams
      
Email: chadd@pacificu.edu
      
Office: Strain 202
      
Phone: (503) 352-2223
      
Office Hours: M 
    
T  
    
F  
    
  
Course Basics
        
  
Course Title: CS310 Introduction to Theoretical Computer Science
Prerequisite: CS250
Meeting Times: MWF 
    
Location:        Marsh LL21
      
Textbook: Introduction to the Theory of Computation by Michael Sipser, PWS Publishing Company, ISBN 0321129474 (Second Edition)
From this text we will cover Chapters 0, 1, 2, most of 3, part of 4, and most of 7.
Errata: http://www-math.mit.edu/~sipser/book.html
Software:       JFLAP
  
Course Website: http://zeus.cs.pacificu.edu/chadd/cs310f06/cs310.html
          
  
Course Assessment
        
  
Grade
      Distribution
       
  | 
    Percent Breakdown
       
  | 
  
  
Important Dates
        
  
Dates
  for Midterms
        
Date
  of Final
        
| WEEK
        # | 
      TEXT
        SECTIONS AND TOPIC | 
      DATE | 
      ADDITIONAL
        NOTES | 
    
WEEK 1  | 
      0:
        Overview, mathematical notation, proof by induction (handouts, pdf, ppt)  | 
      ||
| 0
        and 1: Strings, String Operations, Languages (pdf, ppt)  | 
      |||
| 1.1:Introduction
        to Deterministic Finite Automata(DFA) , formal definition of a DFA,
        simple examples of DFA's (pdf, ppt)  | 
      Friday,
        September 1, 2006 | 
      ||
WEEK 2  | 
      NO
      CLASS | 
      Monday, September 4,
      2006 | 
      LABOR DAY: NO CLASS  | 
    
| 1.1: Designing Finite Automata, formal definition of computation (pdf, ppt) | |||
| 1.1/1.2:
        Regular operations on Languages, Union closure of regular languages,
        motivation for and introduction to Nondeterministic Finite Automata
      (NFA)  (pdf, ppt)  | 
      Friday,
      September 8, 2006 | 
      ||
WEEK 3  | 
      1.2:
	      Examples of NFA's, Introduction to converting NFA's to DFA's (pdf, ppt)  | 
      ||
| 1.2:
      Converting NFA's to DFA's (pdf, ppt)  | 
      |||
| 1.2:
      Closure of Regular Languages (pdf, ppt)  | 
      Friday,
      September 15, 2006 | 
      ||
WEEK 4  | 
      1.3:
      Regular Expressions (pdf, ppt)  | 
      ||
| 1.3:
      Regular Expressions (pdf, ppt)  | 
      |||
| Regular Expressions and JFLAP SOFTWARE, GREP INTRODUCTION(ppt) | Friday, September 22, 2006 | ||
WEEK 5  | 
      1.3:Regular Expressions and GNFA (ppt)  | 
      ||
| 1.4:
      Non-Regular Languages/Pumping Lemma part 1: (ppt) part 2: (ppt)  | 
      |||
Pumping Lemma Examples: (ppt)  | 
      Friday,
      September 29, 2006 | 
      ||
WEEK 6  | 
      2.1:
      Context Free Grammars part 1: (ppt) part 2: (ppt)  | 
      ||
| NO
      CLASS | 
      Friday,
      October 6, 2006 | 
      FALL
        BREAK: NO CLASS  | 
    |
WEEK 7  | 
      2.2:
      Pushdown Automata (PDA) (ppt)  | 
      ||
| 2.2:
      Pushdown Automata (PDA) (ppt)  | 
      |||
| EXAM | 
      Friday,
      October 13, 2006 | 
      EXAM ONE SCHEDULED  | 
    |
WEEK 8  | 
      2.2:
      Pushdown Automata (PDA), Chomsky Normal Form (CNF) (ppt)  | 
      ||
| 2.3/2.4:
      Non-Context Free Languages (ppt) Mid-Semester Course Evaluation (ppt)  | 
      |||
| 2.3/2.4:
      Non-Context Free Languages (ppt) (ppt)  | 
      Friday,
      October 20, 2006 | 
      ||
WEEK 9  | 
      Parsing
        Introduction (Handout):  (ppt) 
  | 
      ||
Parsing
        Introduction (Handout): 
  | 
      HW #3 DUE  | 
    ||
Parsing
        Introduction (Handout): (ppt)
  | 
       Friday,
      October 27, 2006 | 
      ||
WEEK 10  | 
      LL(1) Parsing, Shift/Reduce Parsing (ppt)  | 
      ||
| Lex & Yacc (ppt) Examples  | 
      |||
Linux Command line (ppt) 
  | 
      Friday,
      November 3, 2006 | 
      ||
WEEK 11  | 
      3.1: Turing Machines, Basic Examples, Formal Definition (ppt) 
  | 
      ||
3.2: Turing Machines, More examples, Multitape machines (ppt)  | 
      |||
| 3.2:  Nondeterministic Turing Machine, examples  JFLAP Turing Machine Examples  | 
      Friday,
      November 10, 2006 | 
      ||
WEEK 12  | 
      4.1:  Decidability, Examples of Decidable languages (ppt)  | 
      HW #4 DUE  | 
    |
4.2 Halting Problem (ppt)  | 
      |||
4.2 Halting problem (ppt) JFLAP Turing Machines (ppt)  | 
      Friday,
      November 17, 2006 | 
      ||
WEEK 13  | 
      No Lecture 
  | 
      EXAM
          TWO SCHEDULED  
         | 
    |
| No
      Lecture | 
      THANKSGIVING BREAK:
        NO CLASS  | 
    ||
| No
      Lecture | 
      Friday,
      November 24, 2006 | 
      THANKSGIVING
      BREAK: NO CLASS  | 
    |
WEEK 14  | 
      7.1: Time Complexity Introduction, big-O notation (ppt) 7.1:
          Complexity Relationships between various Turning Machine Models   | 
      ||
7.2: Class P of languages, examples (ppt)  | 
      |||
| 7.3,
        7.4:  Class NP of languages, examples,  P VS. NP Problem, NP
      Complete Languages  | 
      Friday, December 1, 2006 | ||
WEEK 15  | 
      No
      Lecture | 
      Tuesday,
      December 5, 2006 | 
      FINAL EXAM,  8:30-11:00 AM  | 
    
Other
  Dates
  
4 September Labor day holiday (no
  classes)
      
11 September Last day to add courses. Last day to drop courses with no record
      
6 October No classes (Arts & Sciences)
      
6 November Last day to withdraw from courses
      
22 - 24 November Thanksgiving break (starting at 
    
6 December 
    
  
Course Policies