0% found this document useful (0 votes)
2 views

CSIS102 Theoretical Computer Science

The Theoretical Computer Science course (CSIS102) for first-year Informatics and Computer Science students covers foundational topics such as logic, formal languages, automata theory, and computability theory. By the end of the course, students will gain skills in defining arguments, constructing language processors, and proving properties of formal languages. The course includes lectures, tutorials, and assessments through quizzes and exams, with a total workload of 180 hours and 6 ECTS credits.

Uploaded by

medo.ahmed3676
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

CSIS102 Theoretical Computer Science

The Theoretical Computer Science course (CSIS102) for first-year Informatics and Computer Science students covers foundational topics such as logic, formal languages, automata theory, and computability theory. By the end of the course, students will gain skills in defining arguments, constructing language processors, and proving properties of formal languages. The course includes lectures, tutorials, and assessments through quizzes and exams, with a total workload of 180 hours and 6 ECTS credits.

Uploaded by

medo.ahmed3676
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Theoretical Computer Science

A-Basic Information

Semester number Second semester


Semester type Spring Semester
Study year First Year
Course code CSIS102
Academic year 2019/2020
Program name Informatics and Computer Science
Department offering the course Computer Science
Specialization Fundamental
Type of course Preparatory
Number of sessions/ week 2.5
Weekly contact hours 5
Student workload 180
Credit points (ECTS) 6

B- Professional Information
Aims
A course in theoretical computer science comprises the mathematical underpinnings of the
field. It introduces three major topics: logic and proofs, formal languages and automata
theory, and computability theory.
This course starts by an introduction to propositional and first-order logic, with proof
theories for each. Major proof techniques are thoroughly introduced to equip students with
essential tools for studying theoretical computer science. The theory of formal languages and
automata investigates mathematical models of computation, and classifies them with respect
to their computational power. Computability theory addresses a fundamental issue: is a
given problem solvable (by a computer) in the first place?
In addition to its foundational role, the theory of computation had had vast applications in
various areas of computing. These include the specification of the syntax of programming
languages, compiler construction, string processing, and cryptography.

Intended Learning Outcomes


By the end of the course the student will have gained the following skills:

a. Knowledge & Understanding


a1. Define arguments and proofs and identify valid arguments.
a2. Define languages, automata, and grammars.
(Faculty Name) Semester course specs 209

a3. Identify different classes of languages.

b. Professional & Practical skills


b1. Construct simple language processors.

c. Intellectual skills
c1. Prove properties of formal languages.
c2. Characterize regular languages using finite automata and regular expressions.
c3. Characterize context-free languages using pushdown automata and context-free grammars.
c4. Characterize recursively-enumerable languages using Turing machines and enumerators.
c5. Use the pumping lemma to prove that a language is not regular.
c6. Prove that a language is undecidable.

d. General and transferable skills


d1. Construct valid arguments.
d2. Methodically analyze problems.
d3. Express oneself precisely using technical language.

No. of Teaching Hours


Week Topic Lecture Tutorial Lab
1 Propositional logic 3 2 0
\ First-order logic 2 2 0
3 First-order reasoning + Sets and functions 3 2 0
4 Proof techniques 2 2 0
5 Formal languages 3 2 0
6 Deterministic finite automata 2 2 0
7 Closure + Non-deterministic finite automata 3 2 0
8 Equivalence of NFA and DFA 2 2 0
9 Regular expressions 3 2 0
10 Pumping lemma 2 2 0
11 Context-free grammars + Pushdown 3 2 0
automata
12 Turing machines I 2 2 0
13 Turing machines II +Decidability 3 2 0
14 Undecidability 2 2 0
Learning and Teaching Methods
Lecture, tutorials, practice assignments

Facilities required for teaching & learning


Properly equipped classrooms

Assessment

1|Page
(Faculty Name) Semester course specs 209

Quizzes: 40%
Midterm Exam: 20%
Final Exam: 40%

References
Sipser, Michael, Introduction to the Theory of Computation (2nd edition), Thomson Course
Technology, 2006
Rosen, Kenneth, Discrete Mathematics and its Applications, McGraw-Hill Education, 2006.
Hopcroft, J., R. Motwani, and J. Ullman, Introduction to Automata Theory, Languages, and
Computation (2nd edition), Addison Wesley, 2001.

C- Administrative Information
Course Coordinator Contact Information
Course Coordinator: Haythem O. Ismail
E-mail: [email protected]
Telephone
Extension

2|Page

You might also like