DCS: 702 – Advanced Theoretical Computer Science
About Course
- This core course delves into advanced topics in theoretical computer science, including formal languages, automata theory, and computational complexity.
- It provides a deep understanding of the theoretical limits of computation and prepares students to tackle complex algorithmic challenges.
- The course is designed for students who are pursuing advanced research in computer science and wish to gain a rigorous understanding of the foundational theories that underpin modern computing.
Course Objectives
- Develop an in-depth understanding of formal languages, automata theory, and computational complexity.
- Analyze the theoretical limits of computation and their implications for practical computing problems.
- Explore advanced algorithmic techniques and their applications in solving complex problems.
- Engage with current research topics in theoretical computer science.
- Prepare for advanced research in algorithm design and analysis.
Course Content
Week 1: Introduction to Formal Languages
-
Introduction to Formal Languages
03:11 -
LO1: Define the concepts of Formal languages and Regular Expressions
08:24 -
LO2: Explain the role of Finite Automata in Language Recognition
08:54 -
LO3: Illustrate examples of simple Regular Expressions and Equivalent Automata
08:23 -
Multiple Choice Questions
-
True/False Questions
-
Scenario-Based Multiple Choice Questions
-
Key Terms and Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation