CS420: Introduction to the Theory of Computation
Spring 2019

Section 1

Monday Wednesday, 5:30-6:45, Y-2-2300

Department of Computer Science, UMass Boston


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


Quynh Vo

Email: kingvo at cs.umb.edu

Office: S-3-124

Office Hours: M,W 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/spring2018/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

Jan 28

Finite Automata I

Section 1.1

How to Succeed in CS 420


Regular Languages



Jan 30

Finite Automata II

Section 1.1


Homework 1



Feb 4

Finite Automata III

Nondeterministic Finite Automata I

Section 1.1


Section 1.2



Feb 6

Nondeterministic Finite Automata II

Regular Expressions I

Section 1.2


Section 1.3


Homework 2



Feb 11

Regular Expressions II

Section 1.3



Feb 13

Non-Regular Languages I

Section 1.4


Homework 3



Feb 18

Presidents’ Day





Feb 20

Context-Free Grammars I

Section 2.1

Context-Free Languages


Feb 25

Context-Free Grammars II

Section 2.1


Homework 4



Feb 27

Context-Free Grammars III

Pushdown Automata I

Section 2.1


Section 2.2



Mar 4

Pushdown Automata II

Section 2.2


Homework 5



Mar 6

Pushdown Automata III

Section 2.2



Mar 11, Mar 13

Spring Break





Mar 18

Pushdown Automata IV

Non-Context-Free Languages I

Section 2.2


Section 2.3


Homework 6



Mar 21

Non-Context-Free Languages II

Section 2.3



Mar 25

Turing Machines I

Section 3.1


Homework 7





Mar 27

Turing Machines II

Section 3.2



Apr 1

Turing Machines III

Section 3.3




Apr 3

First Test



Study Guide


Practice Questions


Practice Question Solutions




Apr 8

Decidable Languages I

Section 4.1


Homework 8



Apr 10

Decidable Languages II

Section 4.1


Homework 9



Apr 15

Patriots Day





Apr 17

Undecidability I

Section 4.2




Apr 22

Undecidability II

Section 4.2


Homework 10



Apr 24

Undecidable Problems in Language Theory I

Section 5.1




Apr 29

Undecidable Problems in Language Theory II

Mapping Reducibility I

Section 5.1



Section 5.3


Homework 11




May 1

Mapping Reducibility II

Section 5.3








May 6

Measuring Complexity

Section 7.1




May 8

Second Test




Study Guide


Practice Questions


Practice Question Solutions





May 13

The Class P

Section 7.2





May 15

The Class NP

NP Completeness

Section 7.3

Section 7.4



Supplemental Homework



May 20

Final Exam





Study Guide


Practice Questions


Practice Question Solutions

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.