Computer Science 620: Theory of Computation

Fall 2017

Tuesdays & Thursdays 4:00 - 5:15pm in Y-2-2120


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 e-mail

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 7, 2017.

Instructor

Teaching Assistant

Course Description

Textbook

Evaluation (assignments are posted here)

Software

Syllabus (PowerPoint slides are posted here)

Accommodations

Student Conduct

 

 



Instructor:   Marc Pomplun
                    Office: S-3-171
                    Office Hours: Tuesdays 5:15 - 7:30pm and Thursdays 5:15 - 6:00pm
                    Office Phone: (617) 287-6443
                    Lab: S-3-135
                    e-mail: marc@cs.umb.edu
                    Homepage: http://www.cs.umb.edu/~marc

       

 



Teaching Assistant:   Shaohua Jia
                                    Office: S-3-135
                                    e-mail: shaohua@cs.umb.edu
                   

       


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.


Textbook:  Martin D. Davis, Ron Sigal & Elaine J. Weyuker: Computability, Complexity, and Languages. Fundamentals of Theoretical Computer Science. Elsevier Science, 2nd Edition 1994. ISBN: 0122063821.

This book is available at the UMB Bookstore, although you might save some money by ordering it on the web.


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

Assignment #1

September 17

September 26

Assignment #1 Sample Solution

Assignment #2

October 5

October 19

Assignment #2 Sample Solution

Assignment #3

October 17

October 24

Assignment #3 Sample Solution

Practice Midterm

October 19

October 24

Practice Midterm Sample Solution

Midterm Exam

October 26

 

 

Assignment #4

November 7

November 14

Assignment #4 Sample Solution

Assignment #5

November 28

December 5

Assignment #5 Sample Solution

Assignment #6

December 5

December 12

Assignment #6 Sample Solution

Practice Exam

December 7

December 12

Practice Exam Sample Solution

Final Exam

December 21

 

 

 


 

Software:   cs620.hs    l-functions.zip    cs620_turing.hs

 


Syllabus

(note: PDF files are in grayscale for better printing - PPTX files are for playing around with)

Session Dates

Topic

Chapter

Slides

Tuesday,
September 5

Introduction and Preliminaries

1

[PDF]

[PPTX]

Thursday,
September 7

Programs and Computable Functions I

2.1, 2.2

[PDF]

[PPTX]

Tuesday,
September 12

The Haskell Programming Language

Online
Resources

[PDF]

[PPTX]

Thursday,
September 14

Programs and Computable Functions II

2.3, 2.4

[PDF]

[PPTX]

Tuesday,
September 19

Programs and Computable Functions III

2.5

[PDF]

[PPTX]

Thursday,
September 21

Primitive Recursive Functions I

3.1, 3.2, 3.3

[PDF]

[PPTX]

Tuesday,
September 26

Primitive Recursive Functions II

3.4, 3.5, 3.6

[PDF]

[PPTX]

Thursday,
September 28

Primitive Recursive Functions III

3.7

[PDF]

[PPTX]

Tuesday,
October 3

Primitive Recursive Functions IV

3.8, 4.1

[PDF]

[PPTX]

Thursday,
October 5

A Universal Program I

4.2, 4.3

[PDF]

[PPTX]

Tuesday,
October 10

A Universal Program II

4.4

[PDF]

[PPTX]

Thursday,
October 12

No Class

4.5

[PDF]

[PPTX]

Tuesday,
October 17

A Universal Program III

4.6

[PDF]

[PPTX]

Thursday,
October 19

A Universal Program IV

4.7

[no new
slides]

Tuesday,
October 24

Midterm Review

 

 

Thursday,
October 26

Midterm Exam

 

 

Tuesday,
October 31

A Universal Program V

4.8

[PDF]

[PPTX]

Thursday,
November 2

A Universal Program VI

4.8

[PDF]

[PPTX]

Tuesday,
November 7

Calculation on Strings I

5.1, 5.2

[PDF]

[PPTX]

Thursday,
November 9

Calculation on Strings II

5.3, 5.4

[PDF]

[PPTX]

Tuesday,
November 14

Calculation on Strings III

5.5

[PDF]

[PPTX]

Thursday,
November 16

Calculation on Strings IV

5.6

No Class

Tuesday,
November 21

Turing Machines I

6.1

[PDF]

[PPTX]

Thursday,
November 23

Thanksgiving -
No Classes

 

 

Tuesday,
November 28

Turing Machines II

6.2, 6.3, 6.4

[PDF]

[PPTX]

Thursday,
November 30

Turing Machines III

9.1

[PDF]

[PPTX]

Tuesday,
December 5

Turning Machines IV

9.3

[PDF]

[PPTX]

Thursday,
December 7

Turning Machines V

9.3

[PDF]

[PPTX]

Tuesday,
December 12

Final Review  &
Practice Exam

 

 

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, M-1-401, (617-287-7430). 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. 44-45, and 48-52. The Code is available online at: http://www.umb.edu/student_services/student_rights/code_conduct.html


Back to Marc Pomplun's Home Page