CSC 341  Grinnell College  Spring, 2012 
Automata, Formal Languages, and Computational Complexity  
Quick Links: February March April May 
The accompanying table indicates assignments and due dates for Computer Science 341 and are subject to the following notes.
Unless otherwise indicated, textbook references are to Michael Sipser, Introduction to the Theory of Computation, Second Edition, Thomson/Course Technology, 2006, ISBN: 13: 9760534950972 and 10: 0534950973.
Supplemental problems are stated later on this page.
Unless otherwise stated, collaboration IS allowed on problems from the text, but collaboration IS NOT allowed on assignments from the supplemental problems.
Due Date  Collaboration  Chapter  Problems  Notes  

Wed., Feb. 1  0.4, 0.7, 0.9, 0.11  The formal definition of a graph is a set of vertices and a set of edges. Thus, for Exercise 0.9, you need to translate the content of the given figure into the definition of appropriate sets. (Of course, explanation is needed.)  
Supp. Prob. 1, 2  Be sure to state any induction hypothesis carefully!  
Fri., Feb. 10  1.4be, 1.5ceg, 1.6aijl, 1.8ab  
Supp. Prob. 3a  
Wed., Feb. 15  1.21 ab, 1.46ac, 1.53  
Mon, Feb. 20  Hour Test 1  Covers Chapters 0, 1  
Wed., Mar. 7  2.4b, 2.9, 2.14, 2.26, 2.31  
Supp. Prob. 4  
Fri. Mar 9  Lecture Summary  Several paragraphs describing Feb. 29 lecture on Recursive Function Theory  
Fri, Apr. 6  — take home test  3.6, 3.8b, 3.13  (give a brief justification for 3.13)  
Supp. Prob. 5  
4.10 or 4.12  your choice  
Supp. Prob. 6  
Wed., Apr. 18  encouraged)  5.3, do two of 5.125.15  
Wed., Apr. 18  5.4, 5.9, 5.17  
Wed., Apr. 25  encouraged)  5.19, do three of 5.215.24, 5.29, 5.34  additional problems may be done for extra credit  
Fri., Apr. 27  Takehome Test Distributed  Covers Chapters 15, 7  
Mon., April 30  Class Presentations on NP Complete Problems  
Wed., May 2  Class Presentations on NP Complete Problems  
Fri., May 4  Class Presentations on NP Complete Problems  
Mon., May 7  Takehome Test Due  Covers Chapters 15, 7  
Due Date  Collaboration  Chapter  Problems  Notes 
Definition: The height of a nonempty tree is defined as the number of nodes on the longest path from a leaf of a tree to its root; the height of an empty tree is defined to be 0.
Nodes in a Binary Tree: Suppose a binary tree T has height h. Prove that T contains at least h nodes and at most 2^{h}  1 nodes.
Comments in Java: Java allows two types of comments:
For the purposes of this problem, suppose all characters within a Java program are from the set {/, *, a, b, N}, where N represents the endofline character. (In a real Java program, of course, the characters a, b would be extended to all letters, digits, punctuation, etc., but that seems too extensive for this exercise.)
Cond Statements in Scheme: Suppose the symbols condition and statement have been defined for the Scheme language through a contextfree grammar.
Turing Machine for 2 a's: Consider an input alphabet Σ = {a, b}, and let L = {strings w over Σ  w contains two consecutive a's}. Design a Turing machine that accepts the language L. Write out your machine in full, both using a complete transition table and using a state diagram.
Consider the input alphabet for this problem to be {a, b}.
Turing Machine for Palindromes: Design a Turing machine that reads a string s and returns the string ss^{R}, where s^{R} is the reverse of the string s. For example, given the string "abbaa", the Turing machine should halt after "abbaaaabba" is printed on the tape. As in Supplemental Problem 5, write out your machine in full, both using a complete transition table and using a state diagram, and consider the input alphabet to be {a, b}.
This document is available on the World Wide Web as
http://www.walker.cs.grinnell.edu/courses/341.sp12/assignments.shtml
created 5 January 1999 last revised 22 February 2012 

For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. 