Computer Science 620: Theory of Computation

Spring 2019

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


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 use Piazza for discussions.

Last updated on May 14, 2019

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:30 - 8:00pm and Thursdays 3:30 - 4: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:   Thuy Do (Thuy.Do001@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 220 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, March 21, 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%  (average of the 5 highest homework scores)
Midterm Exam:    37% 
Final Exam:           45%

Assignment/Exam (PDF)

Posted/Given on

Due Date

Sample Solution & Other Information

Assignment #1

February 12 February 21

Assignment #1 Sample Solutions

Assignment #2

February 26 March 5

Assignment #2 Sample Solutions

Assignment #3

March 7 March 19

Assignment #3 Sample Solutions

Practice Midterm

March 16 March 19

Practice Midterm Sample Solutions

Midterm Exam

March 21

 

 

Assignment #4

April 13 April 23

Assignment #4 Sample Solutions

Assignment #5

April 30 May 7

Assignment #5 Sample Solutions

Assignment #6

May 7 May 14

Assignment #6 Sample Solutions

Practice Exam

May 9 May 14

Practice Exam Sample Solutions

Final Exam

May 23, 3:00pm - 5:30pm

 

 

 


 

Software:   cs620_1.hs    mult.l    isequal.l    sqrt.l    universal_program.zip    cs620_turing_code.hs

 


Syllabus

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

Session Dates

Topic

Chapter

Slides

Tuesday,
January 29

Introduction and Preliminaries

1

[PDF]

[PPTX]

Thursday,
January 31

Programs and Computable Functions I

2.1, 2.2

[PDF]

[PPTX]

Tuesday,
February 5

The Haskell Programming Language

Online
Resources

[PDF]

[PPTX]

Thursday,
February 7

Programs and Computable Functions II

2.3, 2.4

[PDF]

[PPTX]

Tuesday,
February 12

Snow Day!

 

 

Thursday,
February 14

Programs and Computable Functions III

2.5

[PDF]

[PPTX]

Tuesday,
February 19

No Class!

 

 

Thursday,
February 21

Primitive Recursive Functions I

3.1 - 3.4

[PDF]

[PPTX]

Tuesday,
February 26

Primitive Recursive Functions II

3.5 - 3.8, 4.1

[PDF]

[PPTX]

Thursday,
February 28

A Universal Program I

4.2, 4.3

[PDF]

[PPTX]

Tuesday,
March 5

A Universal Program II

4.4

[PDF]

[PPTX]

Thursday,
March 7

A Universal Program III

4.5

[PDF]

[PPTX]

Tuesday,
March 12

Spring Break!

   

Thursday,
March 14

Spring Break!

   

Tuesday,
March 19

Midterm Review

 

 

Thursday,
March 21

Midterm Exam

 

 

Tuesday,
March 26

A Universal Program IV

4.6

[PDF]

[PPTX]

Thursday,
March 28

A Universal Program V

4.7

[PDF]

[PPTX]

Tuesday,
April 2

A Universal Program VI

4.8

[PDF]

[PPTX]

Thursday,
April 4

Calculation on Strings I

5.1, 5.2

[PDF]

[PPTX]

Tuesday,
April 9

Calculation on Strings II

5.3

[PDF]

[PPTX]

Thursday,
April 11

Calculation on Strings III

5.4

[PDF]

[PPTX]

Tuesday,
April 16

Calculation on Strings IV

5.5

[PDF]

[PPTX]

Thursday,
April 18

Calculation on Strings V

5.6

[PDF]

[PPTX]

Tuesday,
April 23

Turing Machines I

6.1

[PDF]

[PPTX]

Thursday,
April 25

Turing Machines II

6.2, 6.3, 6.4

[PDF]

[PPTX]

Tuesday,
April 30

Turing Machines III

9.1

[PDF]

[PPTX]

Thursday,
May 2

Turing Machines IV

9.3

[PDF]

[PPTX]

Tuesday,
May 7

Turing Machines V

9.3

[PDF]

[PPTX]

Thursday,
May 9

Turing Machines VI

9.3

[PDF]

[PPTX]

Tuesday,
May 14

Final Review  &
Practice Exam

 

 

Thursday,
May 23

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