Section outline
-
CSE221: Theory of Computing
Course Information:
Course Code: CSE 221
Course Title: Theory of Computing
Program: B.Sc in Computer Science and Engineering (CSE)
Faculty: Faculty of Science and Information Technology (FSIT)
Semester: Fall
Year: 2022Credit: 3.0Contact Hour: 6 Hours/ WeekSection: A+BCourse Category: Core EngineeringCourse Teacher Information:Rashidul Hasan HridoyLecturer, Department of Computer Science and EngineeringDaffodil International UniversityOffice: Academic Building 04, Room 739Mobile: 01714969317Email: rashidul.cse0394.c@diu.edu.bdLinkedIn: https://www.linkedin.com/in/rashidulhasanhridoyResearchGate: https://www.researchgate.net/profile/Rashidul-Hasan-HridoyGoogle Scholar: https://scholar.google.com/citations?user=9o4uHPsAAAAJ&hlWebsite: https://rashidulhasanhridoy.comCourse Rationale:
The course is intended to teach the students the basic techniques that underlie the practice of Compiler Construction. The course will introduce the theory and tools that can be standard employed in order to perform syntax-directed translation of a high-level programming language into an executable code.These techniques can also be employed in wider areas of application, whenever we need a syntax-directed analysis of symbolic expressions and languages and their translation into a lower-level description. They have multiple applications for man-machine interaction, including verification and program analysis.
Course Objective:
The main objective of this course is to introduce the major concept areas of language translation and compiler design and to develop an awareness of the function and complexity of modern compilers. This course is a study of the theory and practice required for the design and implementation of interpreters and compilers for programming languages.
Course Outcomes (CO’s):
After successful completion of this course, the students should be able to,
- CO1 :Able to learn variety of issues in the mathematical development of computer science theory, particularly finite representations for languages and machines.
- CO2 : Efficient problem can be solved on a model of computation.
- CO3 : Apply relation and function to solve a problem of NFA & DFA.
- CO4 : The model Turing Machine is implemented to analyse and use to prove result.
- CO5 : Be able to construct pushdown automata and the equivalent context free grammars.
Grading Scheme (Theory Class):
- Attendance: 7%
- Class Tests/Quizzes: 15%
- Assignment: 5%
- Presentation (using video/ppt): 8%
- Midterm Exam: 25%
- Final Exam: 40%
-
Text Book:
1. Theory of Automata, Formal Languages and Computation By S.P. Eugene Xavier.
2. Basics of Compiler Design by Torben. -
-
Topics of discussion
- What is theory of computing?
- Contribution of theory of computing to computer science.
- Importance of theory of computing in computer science.
- Basic terminologies of theory of computing.
- Research opportunities in theory of computing.
Expected Learning Outcome
Students will get a small introduction to theory of computing, and also learn its usage and importance.
-
Discussion Topics:
- Strings, Alphabets and Language
- Graphs and Trees
- Set Notation
- Relations
Expected Learning Outcomes:
- Basic Concept.
- How to make relation among the symbols
-
Opened: Wednesday, 14 September 2022, 12:00 AMDue: Monday, 10 October 2022, 12:00 AM
-
Discussion Topics:
- Finite State Systems
- Basic Definitions / Finite Automata
- Nondeterministic Finite Automata
Expected Learning Outcomes:- How to design a DFA and NFA
- Create Transition Table
-
Opened: Wednesday, 14 September 2022, 12:00 AMDue: Monday, 10 October 2022, 12:00 AM
-
Discussion Topics:
- Conversion of DFA and NFA
- The Equivalence of DFA’S and NFA’S
- Finite Automata with Epsilon-Moves
- Discuss about Quiz Test.
Expected Learning Outcomes:
- Know the difference between NFA and DFA
- How to convert NFA to DFA
-
Opened: Wednesday, 14 September 2022, 12:00 AMDue: Saturday, 15 October 2022, 12:00 AM
-
Quiz 1 and Solve Class
Quiz Syllabus: Week 1, Week 2, Week 3 and Week 4
Date: Friday, 9 September 2022
Time: 35 Minute
Platform: BLC
-
-
Opened: Friday, 9 September 2022, 12:00 AMDue: Friday, 16 September 2022, 12:00 AM
-
-
Discussion Topics:
- Regular Expressions
- Finite Automata and Regular Expressions
- Applications of Regular Expressions
- Algebraic Laws for Regular Expressions
Expected Learning Outcomes:
- How to implement regular expression and language.
- How to implement the Algebraic Laws for Regular Expressions.
-
Opened: Wednesday, 14 September 2022, 12:00 AMDue: Monday, 10 October 2022, 12:00 AM
-
Discussion Topics:
- Simplification of Context-Free Grammars(Useless Symbols)
- Derivation Left and Right most derivation
Expected Learning Outcomes:
- About some normal form Build the normal for
-
Opened: Wednesday, 14 September 2022, 12:00 AMDue: Monday, 10 October 2022, 12:00 AM
-
Review Class : All previous weeks
Quiz Syllabus: Week 3, Week 4, Week 5 and Week 6
Date: 7 October, 2022
Time: 12.00 PM
Platform: BLC
Submission File Name Format: Q2_CSE221_ID.pdf (Example: Q2_CSE221_221-15-1275.pdf)
-
Opened: Friday, 7 October 2022, 12:00 PMDue: Friday, 7 October 2022, 1:10 PM
-
Syllabus: Week 1 to Week 8
The exam date and time will be notified shortly. -
Discussion Topics:
- Discuss and illustrate the rules for eliminating Left Recursion.
- Discuss the techniques to do Left Factoring.
Expected Learning Outcomes:
- Eliminating Left Recursion
- Construct Left Factoring
-
Discussion Topics:
- Discuss and illustrate Kernel item, Non Kernel Item.
- Discuss about Augmented grammar.
- Discuss about Canonical Table.
Expected Learning Outcomes:
- Recognize kernel and non-kernel item.
- Construct LR 0 Parser.
- Design and construct canonical table.
-
Discussion Topics:
- Discuss about Machine independent code optimization.
- Discuss and illustrate the techniques of code optimization.
Expected Learning Outcomes:
- Recognize machine independent code.
- Able to apply techniques to optimize codes.
-
Presentation topics will be provided after the midterm examination. Before that, you need to make a group of 3 people and submit the group list within Week 9.
Assignment topics will be provided after week 11, you have to attend a viva and submit a short report on your assignment.
-
Opened: Thursday, 1 December 2022, 12:00 AMDue: Tuesday, 20 December 2022, 12:00 AM
-
-
Review Class : All previous weeks after midterm examination
Quiz 3
Date: 25-11-2022
Time: 12 PM to 1 PM
Platform: BLC
Submission File Name Format: Q3_CSE221_ID.pdf (Example: Q3_CSE221_221-15-1275.pdf)
Copying answers from others is strictly prohibited.
-
Opened: Friday, 25 November 2022, 12:00 PMDue: Friday, 25 November 2022, 1:00 PM
-
Syllabus: TBA
The exam date and time will be notified shortly.