CS420: Introduction to the Theory of Computation
Spring 2018

Sections 1, 50C

Monday Wednesday, 4:00-5:15, 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: Tu,Th 2:00-4: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 22

Finite Automata I

Section 1.1

How to Succeed in CS 420


Regular Languages



Jan 24

Finite Automata II

Section 1.1


Homework 1



Jan 29

Nondeterministic Finite Automata I

Section 1.2




Jan 31

Nondeterministic Finite Automata II

Section 1.2


Homework 2



Feb 5

Nondeterministic Finite Automata III

Regular Expressions

Section 1.2


Section 1.3




Feb 7

Non-Regular Languages

Section 1.4






Homework 3



Feb 12

Context-Free Grammars I

Section 2.1

Context-Free Languages


Feb 14

Context-Free Grammars II

Section 2.1


Homework 4



Feb 19

Presidents’ Day





Feb 21

Context-Free Grammars III

Section 2.1


Homework 5



Feb 26

Pushdown Automata I

Section 2.2




Feb 28

Pushdown Automata II

Section 2.2


Homework 6



Mar 5

Pushdown Automata III

Section 2.2






Mar 7

Snow Day

Homework 7



Mar 12--16

Spring Break





Mar 19

Pushdown Automata III

Non-Context-Free Languages

Section 2.2


Section 2.3


Homework 8



Mar 21

Snow Day




Mar 26

Turing Machines I

Section 3.1





Mar 28

First Test



Study Guide


Practice Questions


Practice Question Solutions






Turing Machines II

Section 3.2



Apr 4

Turing Machines III

Section 3.3


Homework 9



Apr 9

Decidable Languages

Section 4.1



Apr 9 Make-up

Undecidability I

Section 4.2




Apr 11

Undecidability II

Section 4.2



Homework 10



Apr 16

Patriots’ Day



Apr 18

Undecidable Problems in Language Theory I

Section 5.1


Homework 11



Apr 23

Undecidable Problems in Language Theory II

Section 5.1




Apr 23 Make-up

Undecidable Problems in Language Theory III

Section 5.1




Apr 25

Mapping Reducibility I

Section 5.3




Homework 12






Apr 30

Mapping Reducibility II

Measuring Complexity I

Section 5.3


Section 7.1




May 2

Second Test




Study Guide


Practice Questions


Practice Question Solutions




May 7

Measuring Complexity II

The Class P I

Section 7.1

Section 7.2




May 9

The Class P II

The Class NP

NP Completeness

Section 7.2

Section 7.3

Section 7.4



Supplemental Homework



May 16

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.