CS CS 311 - Computational Structures - Fall Term 2013
CRN:         11026 (Sheard).    11027 (Hook)
Course No.   CS 311
Course Name. Computational Structures (4 cr)
Times:       Tue & Thur 10:00-11:50 (Sheard).   Tue & Thur 14:00-15:50 (Hook)
Place:       FAB 40-06 (Sheard).    FAB 40-06 (Hook)
Professor:   Tim Sheard      James Hook
Office:      FAB 120-04 (Sheard).       EB 502E   (Hook)
Phone        503-725-2410 (Sheard).    503-725-5166 (Hook)
Office Hrs   Friday 10-12 am (Sheard).    Friday 14:00 - 16:00  (Hook).

TA:       Caylee Hogg
Email:    c a y l e e . h o g g @ g m a i l . c o m
Office hours: Mon and Wed 2:00-4:00 PM


  1. Tuesday October 1, 2013 
    Due Today:
    Announcements:
            Please start every homework with a line with three things:
                    homework number, your name, and your email. It should look like this
    
                    CS581  Homework #1    Tom Smith   tsmith@cs.pdx.edu
    
            Turn your homework in on D2L as a "pdf" file.
    Class Topic:
            Syllabus and class preliminaries.
            Mathematical background.
            Inductive sets and proof by induction.
    Assigned today:
            Exercise 1.  Due by class time Thursday Oct. 3, 2013 on D2L.
            Assignment #1. Due: Tuesday October 8.
    Readings:
            Chapter 0, Introduction, Sipser. pp 1 - 28. (Mathematical preliminaries).
            Overview and syllabus of course.
            Inductive sets and proof by induction.
    

  2. Thursday October 3, 2013
    Due Today:
            Exercise 1.  Due by class time today.
    Announcements:
            The TA (Caylee Hogg) will hold office hours Mon & Wed 2:00-4:00 PM
    Class Topic:
            Computation and Languages.
            DFAs defined.
            Example proofs over inductive sets.
    Assigned today:
    Readings:
            Chapter 1, Regular Languages. Section 1.1, pages 31-47
    

  3. Tuesday October 8, 2013
    Due Today:
            Assignment #1. Due today..
    Announcements:
            Please use my normal email address (here). and not d2l to send me (Tim Sheard) email.
    Class Topic:
            Using DFAs to compute new DFAs.   (Closure properties of DFAs).
            Introduction to NFAs.
            Epsilon-NFAs.
    Assigned today:
            Exercise 2. Due by class time, Thursday October 10, 2013.
            Homework 2.  Due Tuesday October 15, 1013.
    Readings:
            Sipser. Section 1.2 "Non-Determinism", Pages 47-62
    

  4. Thursday October 10, 2013
    Due Today:
            Exercise 2. Due by class time toady.
    Announcements:
            Please turn in only pdf files on D2L.
    Class Topic:
            Using NFAs to compute new NFAs. (Closure properties of NFAs.)
            In class exercises.
            Minimizing DFAs.
    Assigned today:
    Readings:
            Read through exercise 1.52, The Myhill-Nerode Theorem (page 91), as well as its answer (page 98).
               This theorem is the basis for the state minimization algorithm.
            Notes on the union construction proof.
    

  5. Tuesday October 15, 2013
    Due Today:
            Homework 2 due today.
    Announcements:
    Class Topic:
            NFAs and DFAs recognize the same set of languages.
            Regular expressions.
    Assigned today:
            Exercise 3. Due by class time, Thursday October 17, 2013.
            Homework 3.  Due Tuesday October 22, 1013.
    Readings:
            Sipser. Section 1.3, Regular Expressions. pages 63-76.
    

  6. Thursday October 17, 2013
    Due Today:
    Announcements:
    Class Topic:
            DFAs, NFAs and RE are equlivalent.
            Minimizing DFAs (hopefully we'll finish this time).
            Review of algorithms over regular languages
    Assigned today:
    Readings:
            Sipser, Theorem 1.54, pages 66-76
    

  7. Tuesday October 22, 2013
    Due Today:
    Announcements:
    Class Topic:
            The regular language pumping lemma.
            Pumping Lemma examples
    Assigned today:
            Exercise 4. Pumping Lemma.
            Homework 4. Due Tuesday Oct. 29, 2013.
    Readings:
            Some notes on state ripping (turning NFA into RegExp) with GNFAs.
            Sipser, Section 1.4, pages 77-82.
    
    

  8. Thursday October 24, 2013
    Due Today:
            Exercise 4 due today.
    Announcements:
    Class Topic:
            What does a proof that a language L is not regular look like?
            Context free languages.
    Assigned today:
    Readings:
            Sipser, Section 2.1 Context Free Languages. Pages 101-111
    

  9. Tuesday October 29, 2013
    Due Today:
            Homework 4. Due today.
    Announcements:
    Class Topic:
            Push down Automata.
    Assigned today:
            Exercise 5. Due Thursday, October 31.
            Homework 5. Due November 5th 2013.
    Readings:
            Sipser Section 2.2 Push Down Automata. pages 111-125.
    

  10. Thursday October 31, 2013
    Due Today:
    Announcements:
    Class Topic:
            Equivalence of context free grammars and push down automata.
    Assigned today:
    Readings:
            Sipser, pages 117-124
            Notes on constructing a CFG from a PDA.
    

  11. Tuesday November 5, 2013
    Due Today:
            Homework 5. Due today.
    Announcements:
    Class Topic:
            CF pumping lemma
            Closure and other properties of CF languages
    Assigned today:
            Homework 6. Due Tuesday Nov. 12, 2013.
            Exercise 6. Due Thursday. Nov. 7, 2013.
    Readings:
            Sipser Section 2.3 "Non-context-free languages", pages 125 - 129.
    
    

  12. Thursday November 7, 2013
    Due Today:
            Exercise 6. Due today.
    Announcements:
    Class Topic:
            Preparing for the exam.
            In class exercises.
    Assigned today:
    Readings:
            Sipser  Chapter 3, Section 3.1   pages  165-176
    
    

  13. Tuesday November 12, 2013
    Due Today:
            Homework 6. Due today.
    Announcements:
            Preparing for the exam.
    Class Topic:
            Midterm exam today!
            It has been decided that one (8.5" x 11") page of notes will be allowed!
    Assigned today:
            Browse the following papers and links.
            Alan Turing's paper Computing Machinery and Intelligence.
               Pay particular attention to sections 3, 4, and 5, which discuss the properties of computing machines!
            A guide to reading the paper
            A timeline of the events discussed in Alan Turings paper
            An Alan Turing Scrapbook.
    Readings:
    

  14. Thursday November 14, 2013
    Due Today:
    Announcements:
            Guest Lecture today by Caylee Hogg.
    Class Topic:
            Intro to Turing Machines
    Assigned today:
    Readings:
            Sipser Chapter 3, Section 3.1, pp 165-175
    

  15. Tuesday November 19, 2013
    Due Today:
    Announcements:
    Class Topic:
            Turing machine variants.
            Turing machines as ways to compute functions. Turing's Thesis.
    Assigned today:
            Homework 7. Due Tuesday Nov. 26, 2013.
            Part of the homework offers a choice of writing a program.
               If you make this choice, you may want to study the file NaturalPR.hs.
            Exercise 7. Due Thursday. Nov. 21, 2013.
    Readings:
            Sipser Chapter 3, Section 3.2, pp 176-182
            Sipser Chapter 3, Section 3.2, pp 182-187
    

  16. Thursday November 21, 2013
    Due Today:
            Exercise 7. Due today.
    Announcements:
    Class Topic:
            Primitive recursive functions
            Partial recursive functions
    Assigned today:
    Readings:
            Notes on primitive and partial recursive functions.
    
            Discrete Structures, Logic and Computability
            By James L Hein
            The text used in CS250
            You may look at Section 13.2.3 pages 832-835, for more information
    

  17. Tuesday November 26, 2013
    Due Today:
            Homework 7. Due today.
    Announcements:
    Class Topic:
           Computability with recursive functions.
           Computabilty notes that follow the textbook.
    Assigned today:
            Homework 8. Due Tuesday Dec. 3, 2013.
            There is no exercise this week because of Thanksgiving holiday.
    Readings:
            Notes on computabilty using recursive functions.
            Similar material form the text, Sipser pages 193 - 214, but using Turing machines.
    

  18. Thursday November 28, 2013
    Thanksgiving Day, No classes
    

  19. Tuesday December 3, 2013
    Due Today:
            Homework 8. Due Today.
    Announcements:
    Class Topic:
            Decideability
    Assigned today:
    Readings:
            Sipser pages 193 - 214
    

  20. Thursday December 5, 2013
    Due Today:
    Announcements:
            A practice final exam has been added to the "course content" part of D2L.
    Class Topic:
            Reducability
    Assigned today:
    Readings:
            Sipser,  Chapter 5   pages 215-239
    
    

  21. Final Exams. Note which one applies to you.
    Tuesday December 10, 2013, 10:15-12:05 (Sheard) Monday December 9 , 2013, 10:15-12:05 (Hook) A practice final exam has been added to the "course content" part of D2L.
Three Goals
  1. There are problems computers can't solve.
  2. Most natural problems of interest answer questions about programs.
  3. The class of computable functions is robust under definition (all reasonable models agree).
Back to the class web-page.