CPSC 421/501 Page, Fall 2014
This page concerns CPSC 421 Section 101 and CPSC 501 Section 101.
The courses have been combined, except that CPSC 501 will have an
additional essay to write.
This page has the most up-to-date information on the course(s) and
supersedes any other document.
Not all course material are available at all times (especially solution
sets to homeworks).
Overview for this course.
The main text for this course is
Theory of Computation, by Michael Sipser, 3rd Edition.
We shall begin the course with a handout
Computability and Self-Referencing in CPSC421; this is a more general (and leisurely)
treatment of Section 4.2 of Sipser's textbook, that doesn't require knowing
how a Turing machine works. We will then cover Turning machines,
parts of Chapters 3-7; regular languages (Chapter 1) and
context-free languages (Chapter 2) will be covered briefly towards
the end of the course.
The midterm will be held on Friday, October 17, covering material
up to and including October 3. Location TBA.
We begin the course by talking about the Halting problem and related
with the handout
Computability and Self-Referencing in CPSC421
(last modified August 18, 2014); these notes will be modified, and have
material added to them (especially exercises).
This material will be reviewed again later in the course
(see Chapters 4 and 5 of Sipser's text).
I will write a
to say roughly what we are covering when and to make some additional
remarks regarding class material.
This blog is usually quite skeletal, and will be modified
throughout the term.
All homework involving the text is based on the 3rd edition of Sipser's book.
Homework #1, due September 15: Problems 7.1.1, 7.1.2, 7.1.4,
7.1.9(3) of the
Homework #2, due September 22:
Joel Friedman (Instructor):
appointment, unless posted otherwise.
Students in CPSC 501 have an
essay due on the last day of class.
Choose any topic that goes beyond something done in this course, but
please get my approval. The following topics are fine:
(1) Fuller discussion of some of the paradoxes mentioned in the
handout, including: Godel's incompleteness theorems and Russell's paradox;
(2) Discussion of a number of different types of problems (including some
that may arise in practice?) known to be
undecidable or unacceptable (unrecognizable);
(3) Methods of showing that a language is not recognizable (how many
different methods are known, for example?);
(4) Discuss the Chomsky Hierarchy (e.g., explain why Type-0 grammars yield
precisely all Turing-recognizable languages, what Type-1 grammars
(context sensitive) give) (see the wikipedia page);
No news is good news.