Computer Science 620: Theory of Computation
Fall 2017
Tuesdays & Thursdays 4:00  5:15pm in Y22120
Welcome and congratulations on taking this course! Theory of Computation is the most fundamental subject in computer science; what you learn in this course applies to all computers and all programming languages that will ever exist. I promise that the insight you gain by taking CS 620 will be very useful to you. Please come back to this page regularly during the semester to check for updates on assignment deadlines, office hours etc. Most importantly, all PowerPoint slides etc. I use in class will be uploaded and available from the syllabus table at the bottom of this page. I will upload the slides immediately after each class, to make classes more surprising and exciting ;). If you have any questions whatsoever, please don't hesitate to send me an email.
Also note that we are using Piazaa for discussions. Our class page is at: https://piazza.com/umb/fall2017/cs620/home
Last updated on December 12, 2017.
Evaluation (assignments are posted
here)
Syllabus (PowerPoint slides are
posted here)




Course Description: Functions computable by programs. Recursive functions and Turing machines; simulation and diagonalization. Universality and unsolvable problems. Kleene's hierarchy and the recursion theorem. Abstract complexity. Formal languages and classes of automata.
Prerequisites: CS 320 or permission of the instructor.
Evaluation:
There will be six homework assignments. A midterm exam will take place on
Thursday, October 26, while the final exam we be scheduled for the regular
final exam period (see syllabus below). Your final grade will be computed as
follows:
Homework:
18% (3% for each assignment)
Midterm Exam: 37%
Final Exam:
45%
Assignment/Exam (PDF) 
Posted/Given on 
Due Date 
Sample Solution & Other
Information 
September 17 
September 26 

October 5 
October 19  
October 17 
October 24  
October 19 
October 24 

Midterm Exam 
October 26 


November 7 
November 14  
November 28 
December 5 

December 5 
December 12  
December 7 
December 12 

Final Exam 
December 21, 3pm  5:30pm 


Software: cs620.hs lfunctions.zip cs620_turing.hs
(note: PDF files are in grayscale for better printing  PPTX files are for playing around with)
Session Dates 
Topic 
Chapter 
Slides 

Tuesday, 
Introduction and Preliminaries 

1 
[PDF] [PPTX] 
Thursday, 
Programs and Computable Functions I 

2.1, 2.2 
[PDF] [PPTX] 
Tuesday, 
The Haskell Programming Language 

Online 
[PDF] [PPTX] 
Thursday, 
Programs and Computable Functions II 

2.3, 2.4 
[PDF] [PPTX] 
Tuesday, 
Programs and Computable Functions III 

2.5 
[PDF] [PPTX] 
Thursday, 
Primitive Recursive Functions I 

3.1, 3.2, 3.3 
[PDF] [PPTX] 
Tuesday, 
Primitive Recursive Functions II 

3.4, 3.5, 3.6 
[PDF] [PPTX] 
Thursday, 
Primitive Recursive Functions III 

3.7 
[PDF] [PPTX] 
Tuesday, 
Primitive Recursive Functions IV 

3.8, 4.1 
[PDF] [PPTX] 
Thursday, 
A Universal Program I 

4.2, 4.3 
[PDF] [PPTX] 
Tuesday, 
A Universal Program II 

4.4 
[PDF] [PPTX] 
Thursday, 
No Class 

4.5 
[PDF] [PPTX] 
Tuesday, 
A Universal Program III 

4.6 
[PDF] [PPTX] 
Thursday, 
A Universal Program IV 

4.7 
[no new slides] 
Tuesday, 
Midterm Review 



Thursday, 
Midterm Exam 



Tuesday, 
A Universal Program V 

4.8 
[PDF] [PPTX] 
Thursday, 
A Universal Program VI 

4.8 
[PDF] [PPTX] 
Tuesday, 
Calculation on Strings I 

5.1, 5.2 
[PDF] [PPTX] 
Thursday, 
Calculation on Strings II 

5.3, 5.4 
[PDF] [PPTX] 
Tuesday, 
Calculation on Strings III 

5.5 
[PDF] [PPTX] 
Thursday, 
Calculation on Strings IV 

5.6 
No Class 
Tuesday, 
Turing Machines I 

6.1 
[PDF] [PPTX] 
Thursday, 
Thanksgiving  



Tuesday, 
Turing Machines II 

6.2, 6.3, 6.4 
[PDF] [PPTX] 
Thursday, 
Turing Machines III 

9.1 
[PDF] [PPTX] 
Tuesday, 
Turning Machines IV 

9.3 
[PDF] [PPTX] 
Thursday, 
Turning Machines V 

9.3 
[PDF] [PPTX] 
Tuesday, 
Final Review & 



Final Exam Period 
Final Exam 


Accommodations: Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities. If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services, M1401, (6172877430). The student must present these recommendations and discuss them with each professor within a reasonable period, preferably by the end of Drop/Add period.
Student Conduct: Students are required to adhere to the University Policy on Academic Standards and Cheating, to the University Statement on Plagiarism and the Documentation of Written Work, and to the Code of Student Conduct as delineated in the catalog of Undergraduate Programs, pp. 4445, and 4852. The Code is available online at: http://www.umb.edu/student_services/student_rights/code_conduct.html