CS420: Introduction to the Theory of Computation
Fall 2017

Section 1

Tuesday Thursday 12:30-1:45, W-2-200

Department of Computer Science, UMass Boston


Peter Fejer
email: fejer@cs.umb.edu
Office: S-3-184
Office Hours: Tu Th 2:00-3:30, W 2:00-3:00, and by appt.


Quynh Vo

Email: kingvo at cs.umb.edu

Office: S-3-124

Office Hours: TT 2:00-3:00

General Information

Introduction to theoretical aspects of computing, including models of computation, inherent limits on computation, and feasible computation.

Prerequisites:  CS 320L (or equivalent).


Day-by-Day Syllabus

·         For some topics in the course, I am using slides prepared by Prof. Emanuele Viola of Northeastern University. These slides are used with his kind permission. The slides are organized by chapter rather than by section of the textbook. Links to these slides on Prof. Viola’s webpage are given in the syllabus below.

·         This course is in the UMB Blackboard and in piazza. You can log into Blackboard with your UMB ID at umb.umassonline.net. The piazza page is accessible from Blackboard, but can also be reached directly at piazza.com/umb/fall2017/cs420/home. Both Blackboard and piazza contain links to this page.

·         Class lectures are being recorded using the Echo 360 system. You can find the class recordings in Blackboard.





Textbook Section(s)


Homework and Solutions

Test Study Material and Solutions

Sep 5

Finite Automata I

Section 1.1

How to Succeed in CS 420


Regular Languages



Sep 7

Finite Automata II

Section 1.1


Homework 1




Sep 12

Nondeterministic Finite Automata I

Section 1.2




Sep 14

Nondeterministic Finite Automata II

Section 1.2


Homework 2




Sep 19

Nondeterministic Finite Automata III

Regular Expressions

Section 1.2


Section 1.3




Sep 21

Non-Regular Languages I

Section 1.4






Homework 3




Sep 26

Context-Free Grammars I

Section 2.1

Context-Free Languages


Sep 28

Context-Free Grammars II

Section 2.1


Homework 4




Oct 3

Context-Free Grammars III

Section 2.1




Oct 5

Pushdown Automata I

Section 2.2


Homework 5




Oct 10

Pushdown Automata II

Section 2.2




Oct 12

Pushdown Automata III

Non-Context-Free Languages I

Section 2.2


Section 2.3


Homework 6




Oct 17

Non-Context-Free Languages II

Section 2.3



Oct 19

Turing Machines I

Section 3.1


Homework 7



Oct 24

Turing Machines II

Section 3.2




Oct 26

First Test



Study Guide


Practice Questions


Practice Question Solutions


Test Solutions

Oct 31

Turing Machines III

Section 3.3




Nov 2

Decidable Languages I

Section 4.1


Homework 8



Nov 7

Decidable Languages II

Undecidability I



Section 4.2




Nov 9

Undecidability II

Section 4.2


Homework 9



Nov 14


Undecidable Problems in Language Theory I

Section 4.2


Section 5.1



Nov 16

Undecidable Problems in Language Theory II

Section 5.1


Homework 10



Nov 21

Undecidable Problems in Language Theory III

Section 5.1


Homework 11




Nov 23






Nov 28

Mapping Reducibility I

Section 5.3






Nov 30

Mapping Reducibility I

Measuring Complexity I

Section 5.3


Section 7.1




Dec 5

Second Test




Study Guide


Practice Questions


Practice Question Solutions


Test Solutions

Dec 7

Measuring Complexity II

The Class P I

Section 7.1

Section 7.2




Dec 12

The Class P II

The Class NP

NP Completeness

Section 7.2

Section 7.3

Section 7.4



Supplemental Homework

Supplemental Homework Solutions

Dec 21

Final Exam




Study Guide



Interesting Links

·        Here is the web site for the textbook . (Third Edition, Second Edition) (You should print out the list of errata for the textbook.)

Accessing this page from your home PC

Some files will be available in Postscript format only.  If you want to view and print Postscript files at home, you need Ghostscript and Ghostview. You can get them by clicking here.

·                     Download Ghostscript and GSview for reading PostScript files.