You are on page 1of 3

Theory Of Computation (CPS306)

University Of The Gambia

Instructor
Name: Omar Jabbi (Amaru)
Phone: 3950099
6668599(whatsApp)
Email: ommzjay@gmail.com
Venue: School of Journalism
Schedule: Friday 08:00 – 13:30
11:00 to 10:30

Course Description
Introduction to the classical and contemporary theory of computation covers the theoretical computer
science areas such as regular, context-free and computable (recursive) languages with finite state
machines, pushdown automata and Turing machines. Basic concepts of computability theory and NP-
theory.

Prerequisite
Students are expected to have a knowledge of discrete mathematics, applied mathematics and
algorithms.

Objectives
The learning objectives of this course are to:

− introduce students to the mathematical foundations of computation including automata theory;


the theory of formal languages and grammars; the notions of algorithm, decidability,
complexity, and computability.
− enhance/develop students' ability to understand and conduct mathematical proofs for
computation and algorithms.

Outcomes
After completing this course, students will be able to:

− analyse and design finite automata, pushdown automata, Turing machines, formal languages,
and grammars.
− demonstrate their the understanding of key notions, such as algorithm, computability,
decidability, and complexity through problem solving.
− prove the basic results of the Theory of Computation.
− state and explain the relevance of the Church-Turing thesis.
Student Evaluation/Grading
For your success to be guaranteed in this course, you must complete all the mandatory components
of the course as listed below. Failing to complete a component will earn you zero (0) mark for that
component. You should be aware that completing these tasks is the best way to achieve the learning
outcomes.
NOTE: All assignments and their due dates as well as the scores will be posted on the course site and
your completed assignments must be submitted via the same site unless otherwise stated.

COMPONENT WEIGHT
Assignments 20%
Test 20%
Attendance 10%
Final Exams 50%
TOTAL 100%
Late Policy
− 15% deduction for submissions within 24 hours after the deadline
− 30% deduction for submissions later than 24 hours
− You cannot be more than 2 days late
− Any request for extensions must be backed by reasonable proof for an excuse to be granted
− An absence from lectures implies a 1% deduction from the maximum attendance score
− Three late attendance shall be counted as an absence
− If you have a serious sickness or compassionate grounds, notify me before the lecture period
ends. Later you will have to prepare a supporting documentation where necessary.
Plagiarism is a crime
− If your work or part of your work is directly copied from someone within the course, both
parties get a 50% deduction
− If your work or part of your work is directly copied from a party outside the course (e.g.
Internet), you earn zero (0) marks from that task.
Plagiarism is a serious hindrance to your personal progress!
Other Rules
− Issues about any particular task should be raised and addressed not later than 3 days after the
deadline. No such issues can be raised at the very end of the course.
− If you want my exclusive assistance in dropping the course, please do so before the deadline
set by the admin. Dropping the course after this date shall be at the discretion of the admin
for your grades will still be submitted otherwise.
− You will always be referred to these guidelines for queries that are addressed here in and that
you must be in agreement with the guidelines.
Course Materials
Recommended Texts
− Sipser, M. (2006). Introduction to the Theory of Computation (2nd ed.). Boston, MA:
Thompson Course Technology.
− Hopcroft, Motwani, Ullman (2006) Automata Theory, Languages, and Computation
Tools
− COURSE WEBSITE: https://classroom.google.com/ - Lecture notes, references,
assignments, and other information will be posted on this site. It’s your responsibility to
keep yourself updated.

Course Schedule/Plan (Tentative)


WEEK / DATE SESSION TOPIC(S)

18/03/21 First Meeting − Introduction & Course Overview


− Formation of Preliminary Concepts: Automata,
Week 2 Lecture computability, and complexity, Mathematical tools,
Types of proofs

− Alphabet, Strings & Languages


Lecture, − Regular Expressions & Languages: Finite automata,
Week 3
Assignment 1 given Non determinism, Regular expressions, Non-regular
languages
− Context-Free Languages: Context-free grammars,
Lecture,
Week 4 Pushdown automata, Non-context-free languages,
Assignment 2 given
Pumping Lemma
− Turing machines: The Church-Turing Thesis, Variants
Week 5 Lecture
of Turing machines, Definition of "algorithm"

Week 6 MID Test(tentative) − All Topics

− Decidability: Decidable languages, The halting


Week 7 Lecture
problem
− Reducibility: Undecidable problems in language
Lecture,
Week 8 theory, A simple undecidable problem, Mapping
Assignment 3 given
reducibility
− Advanced Topics in Computability: The recursion
Lecture
Week 9 theorem, Decidability of logical theories, Turing
reducibility

− Time Complexity: Measuring complexity, The


Lecture,
Week 10 class P, The class NP, NP-completeness, NP-
Assignment 4 given
complete problems

You might also like