The theory of computing provides computer science with concepts, models, and formalisms for reasoning about the resources needed to carry out computations and about the efficiency of the computations that use these resources. In addition, it provides tools to measure the difficulty of combinatorial problems both absolutely and in comparison with the other problems
Steven Homer and Alan L. Selman
Computability and Complexity Theory (2001)
This will be the official course website of CS 204 Mon, 6pm to 9pm class under Henry.
This class will not meet physically but will be conducting classes remotely with occasional online meetings.
Announcements for the class will be posted here, aside from emails that registered students will receive from the Instructor.
Below will be the is the list of tentative topics to be covered for the class this unique semester of AY 2020-2021.
Opposite the list of topics are provided with free online (videos) resources that hopes to guide the students in appreciating the course.
Main Text References
- [S] Sipser, Introduction to Theory of Computation (2ed): pdfs (2ed) (3ed)
Maligayang Pagdating, Mabuhay!
Week 13-14
b. PS2a is DUE 14 December 2020
c. PS2b is DUE 4 January 2021
==oo0oo==
Reminders:
a. Please maintain to work as a group and develop the habit of collaboratively discussing and finding solutions to problems.
b. Problem set must be done individually. You can discuss as a group to understand the problems and possible way of solving it, BUT each student must submit his/her own referenced suggested solutions.
c. Suggested solutions to Problem set 2a and 2b ( 2b.1, 2b.2, 2b.3) are DUE : 14 December 2020, and 4 January 2021, respectively.
d. We can ONLY accommodate online group consultation.
e. Should you wish to consult individually, please send me an email.
Announcements !
Week 6 to 12
b. Next Problem set will be sent soon.
c. PS1a and 1b EXTENDED submission date: 2 November 2020.
===ooOoo===
Week 4 & 5:
b. Commented Exercises 1b and 1c were sent to registered students
c. Problem set 1b was sent last Sunday 11 October 2020. Please inform instructor if you are registered for the course but unable to receive copy of PS1b.
===ooOoo===
Week 3
The book What can be computed ? by John MacCormick is a nice book to read that could help one appreciate this course.
oo0oo
The following were sent to all registered students:
-Comments and remarks on suggested solutions to Exercise 1a..
-Assigned readings (Decidability and Rice Theorem) for week3.
Problem set 1a has been emailed to all registered students of the course.
Please inform instructor if you're registered but unable to receive PS1a.
Reminders:
a. Suggested solutions to Exercise 1b is DUE 2 October 2020.
b. Suggested solutions for Exercise 1c is DUE 5 October 2020.
===ooOoo===
Week 2:
To help everyone to start doing some proof, you may consult the following:
oo0oo
- Readings for week2&3 are now available here.
- Also, readings are sent through email this weekend to registered students.
- Please email the instructor if you did not get copies of the readings.
Reminders:
Send your group suggested solution to the above Exercises on or before Wednesday next week, i.e. 22 Sept 2020. 11:59pm. to < hnadorna@up.edu.ph>
- Please join study group organized by students via Discord, contact your classmate Mabelle Saludares <mis.saludares@gmail.com> for info.
===ooOoo===
Week 1:
Posted:16 September 2020, 1500H
1. Use the results of Exercises no. 1.51 and 1.52 in Sipser's IToC to realize a state minimization of any DFA.
2. Suggest a solution for Exercise No. 1.59 from IToC of Sipser.
Send your group suggested solution to the above Exercises
on or before Wednesday next week, i.e. 22 Sept 2020. 11:59pm to < hnadorna@up.edu.ph>
This will be your first, CS204 My Update and CS 204 My Submission.
Note:
CS204 My Update : narrative feedback of the lesson read... (to be sent individually by student)
CS 204 My Submission : Exercise 1a
(to be submitted by a group representative only, with proper acknowledgement of
who participated and how each participated.)
ooOoo
- Please answer the following questions precisely, completely and correctly.
Send your answers by REPLYING to this email sent last weekend.
- What is your undergraduate degree?
- From which university did you obtain your undergraduate degree from?
- What is/are your motivation(s) for attending graduate school in computer science?
- What do you expect to learn from taking graduate courses?
- What do you expect from CS 204, Theory of computation?
- What do you plan to do after graduation?
I hope to obtain your reply before 6pm on Monday 14 September 2020.
- Readings for week o and week 1 are already sent via email last weekend.
- Please email the instructor if you did not get copies of the readings.
- Here is the slide presentation for tonights Meet and Greet Session!
===ooOoo===
Week 0:
- This course, CS 204 is listed in UVLE. You must enroll to this course.
Students must activate their UVLe accounts; they need to log-in at UVLe using their DilNet accounts and (for first time users) must accept the UP Academic Use Policy after logging in.
- The syllabus of the course can be obtained here.
- Notes, problem sets and exercises for each topic will be posted weekly to this course webpage.
- Please allow your self to acquire the required at least ([S]) in the main references.
- [S] Sipser, Introduction to Theory of Computation (2ed): pdfs (2ed) (3ed)
- We will follow sequence of topics from [S] for the first six weeks and then [HS] for the last six weeks.
- You can now start reading the following chapters (0 to 2) from Sipser's book on ITC 2ed.
- Chapters 0-3 of Sipser's book ITC 2ed are the minimum requirements to appreciate the course. (Undergraduate Automata and Computability Theory course.)
- Please allow yourself to be familiar with doing proofs. You might want to start watching Methods of Proofs from patrickJMT from YouTube.
Schedule of Activities
Weeks
week 0
Topics
- Review of undergraduate Formal Languages and Automata Theory
References
Chapters 0 to 3 : Sipser, Introduction of Theory of Computation, 2ed
The following are suggested video lectures available from YouTube:
Theory of Computation & Automata Theory by Neso Academy
Theory of Computation - Fall 2011 (Course) in UC Davis
Weeks
week 1
Topics
- Meet and Greet: Policy and General Instructions can be obtained at here (Administrative)
- Why Theory of Computation?
References
Juraj Hromkovic: Introduction to Theoretical Computer Science, Springer
The following are suggested video lectures available from YouTube:
Weeks
weeks 1 to 14
Topics
- Main Course Topics (The whole course)
References
Main Text References
[S] Sipser, Introduction to Theory of Computation (2ed): pdfs (2ed) (3ed)
[HS] Homer and Selman, Computability and Complexity (2ed) pdf (2ed) errata issues?
Suggested References
[N] Jones,N. .Computability and Complexity From a Programming Perspective
[F] Fortnow, L. The Computational Complexity Column
[BC] Bovet & Crescenzi Introduction to the theory of complexity
Topics
- Introduction to Computability
References
[S] Chapter 3 to 6 of Sipser, Introduction to Theory of Computation (2ed)
[HS] Chapters 2 and 3 of Homer and Selman, Computability and Complexity (2ed)
The following are suggested video lectures available from YouTube:
Weeks
weeks 2 to 5
Topics
- The Church-Turing Thesis
- Decidability, Halting problem and Rice Theorem
- Mapping and Turing Reductions
- The Recursion Theorem
References
Chapter 3 [S]; Chapter 2 [HS]
Chapters 4 and 5 [S] ; Chapters 3 [HS]
Chapters 4 and 5 [S] ; Chapters 3 [HS]
Chapter 6 [S]; Chapter 3 [HS]
The following are suggested video lectures available from YouTube:
L11: Church-Turing Thesis and Examples of Decidable Languages from UC Davis
Rice's Theorem - Georgia Tech - Computability, Complexity, Theory: Computability by Udacity
Reductions and (Un)decidability - Georgia Tech - Computability, Complexity, Theory: Computability bh Udacity
Decidability/Complexity Relationship, Recursion Theorem by Chao Xu
Weeks
weeks 5 to 7
Topics
Mid-term Deliverables
References
Problem sets 1a and 1b (online submissions)
Topics
Introduction to Complexity Theory
References
[HS] Chapters 4 to 7
[S] Chapters 7 to 9
The following are suggested video lectures available from YouTube:
Weeks
weeks 6 to 12
Topics
- Complexity Measure and Complexity Classes
- Inclusion Relationships and Separation Results
- Nondeterminism and NP Completeness
- Relative Computability
- The Polynomial Hierarchy
References
Chapter 4 [HS]; Chapter 7 [S]
Chapter 5 [HS]; Chapters 7 and 8[S]
Chapter 6 [HS]; Chapter 7 [S]
Chapter 7 [HS]; Chapter 9 [S]
Chapter 7 [HS]; Chapter 9 [S]
The following are suggested video lectures available from YouTube:
Topics
Miracles of Theoretical Computer Science
References
Chapter 10 [S]
Weeks
weeks 13 to 14
Topics
- Approximation Algorithms
- Probabilistic Algorithms
- Parallel Computation
- P systems
References
The following are suggested video lectures available from YouTube:
Introduction to Approximation Algorithm or Approximation Algorithms both are from Coursera
Algorithm ? oh “It Probably Works” from Association for Computing Machinery (ACM)
Parallel Algorithm from LEPROFESSEUR
Membrane Computing (CH_13) from Ch-13 Computer Science and Engineering by Kamala
Weeks
weeks 12 to 14
Topics
End-of-Term Deliverables
References
Problem sets 2a and 2b (online submissions)
Interesting Resources/References
The following are suggested video lectures available from YouTube:
Twelve speedy tricks for answering NP-complete problems from TNG Technology Consulting GmbH
Great Ideas in Theoretical Computer Science: Approximation Algorithms (Spring 2016) from Ryan O'Donnell
Parallel Thinking from Microsoft Research
The P versus NP problem - Efficient computation and the limits of human knowledge - AVI Wigderson from International Centre for Theoretical Sciences
Proofs from Algorithms, Algorithms from Proofs - Pravesh Kothar from Institute for Advanced Study