Section outline
-
Instructor Name: Aliza Ahmed Khan
Designation: Senior Lecturer
Email: aliza.cse@diu.edu.bd
Contact: 01715918474
Office Address: Room 805, AB04, Level -4,DSC.
Course Rational:
The Theory of Computing course aims to provide students with a deep understanding of fundamental principles in computer science. This course covers key topics such as automata theory, formal languages, computability, and complexity theory. Students will explore the theoretical underpinnings of computation, gaining insights into the limits and capabilities of algorithms and machines. The course equips students with essential knowledge for analyzing the efficiency and feasibility of algorithms, and lays the foundation for advanced studies in theoretical computer science.
Course Objectives:
1. To learn the basic concepts of Finite Automata.
2. To understand different types of finite automata and their design approaches.
3. To learn regular expressions and its conversion to Regular Language and finite automata.
4. To learn context free grammar and its construction techniques.
5. To learn Turing machine and its basics
Course Learning Outcome:
1. Design deterministic finite automata with explaining the terms of Finite Automata
2. Design non-deterministic Finite Automata along with the comparison of DFA and NFA.
3. Apply conversion techniques of regular expression and Construct context free grammar by explaining derivation and parse tree and ambiguity.
4. Illustrate Turing machines and its functionalities
Course Content:
Introduction
Finite Automata
Deterministic Finite Automata (DFA)
Non-deterministic Finite Automata (NFA)
Conversion of NFA to DFA
Pushdown Automata
Context free languages
Context free grammars
Turing Machines Basics
-
Welcome to the General Discussion forum! We encourage you to use this forum to provide feedback and/or discuss your experiences/ Thoughts.
-
Automata Theory is a branch of computer science that deals with designing abstract self propelled computing devices that follow a predetermined sequence of operations automatically. An automaton with a finite number of states is called a Finite Automaton. This is a brief and concise course that introduces the fundamental concepts of Finite Automata, Regular Languages, and Pushdown Automata before moving onto Turing machines and Decidability.
Objectives of this lecture:
It comprises the fundamental mathematical properties of computer hardware, software and certain application .
The subject has obvious connections with engineering practice, and, as in many sciences.
Theory has proved its value to other parts of computer science. Many technologists and companies grew up out of the work of theorists.
It deals with the definitions and properties of mathematical models of computation.
Lecture Outcomes:
At the end of the session students will be able to know about :
Computations basics
Automata Theory
Symbols and alphabet, Language
Sets, Function
Implication, Valid/invalid computation
Lecture Contents:
Introduction
Automata Theory
Symbols and alphabet
Language
Sets
Function
Implication
Valid/invalid computation
-
video :
-
-
The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled computing device which follows a predetermined sequence of operations automatically.
An automaton with a finite number of states is called a Finite Automaton (FA) or Finite State Machine (FSM).
Objective of this Lecture:
1) To understand automata and its types
2) To know about finite automata and it's real life example
3) Relate automata theory to the real world computer science
4) To know about categories of Finite automata
5) To recognize any automata
6) To know DFA and NFA Computation
Outcome:
1) Automata and it's categories
2) Formal Definitions
3) Differentiate DFA and NFA
4) String Acceptance in DFA and NFA (String Acceptance)
Content:
1) Finite automata and it's categories
2) DFA and NFA formal definition
3) DFA and NFA computation
-
-
Opened: Wednesday, 21 August 2024, 3:00 PMDue: Wednesday, 21 August 2024, 3:45 PM
Submit your class assignment here
-
-
Learning objective:
1) To know about DFA Construction
Learning Outcome:
1) Can construct DFA from any given regular language
Content:
1) Problem solving from DFA Construction
-
Opened: Wednesday, 25 December 2024, 12:00 AMDue: Thursday, 26 December 2024, 12:00 AM
Construct DFA for the following language. Consider Σ = {0,1} for every language.
- {w | the length of w is exactly 5}
- {w | the length of w is maximum 5}
- {w | the length of w is minimum 5}
- {w | w where |w| mod 4=0}
- {w | w where |w| mod 4=1}
- {w | w where |w| mod 4=2}
- {w | w where |w| mod 4=3}
- {w | the length of w is exactly 5}
-
Opened: Saturday, 31 August 2024, 2:00 PMDue: Saturday, 31 August 2024, 5:30 PM
Construct DFA for the following language. Consider Σ = {0,1} for every language.
- {w | the length of w is exactly 5}
- {w | the length of w is maximum 5}
- {w | the length of w is minimum 5}
- {w | w where |w| mod 4=0}
- {w | w where |w| mod 4=1}
- {w | w where |w| mod 4=2}
- {w | w where |w| mod 4=3}
- {w | the length of w is exactly 5}
-
Chapter 1
Page: 84
Problem Number: 1.5, 1.6
-
Opened: Monday, 30 December 2024, 1:00 PMDue: Monday, 30 December 2024, 4:00 PM
1. {w|w where string starts with ba}
2. {w|w where string does contains 0101 as substring}
3. {w|w string start with b and ends with ab}
4. {w| na(w) mod 4=2}
5. {w|w where every b should never followed by a}
-
Opened: Tuesday, 17 September 2024, 12:00 AMDue: Tuesday, 24 September 2024, 12:00 AM
-
1. Non deterministic Finite Automata definition
2. Formal Definition
3. String Acceptance
-
Opened: Saturday, 28 December 2024, 11:30 AMDue: Monday, 30 December 2024, 12:00 AM
Give state diagrams of NFAs with the specified number of states recognizing each of the following languages. In all parts, the alphabet is {0,1}.
a. The language {w| w ends with 00}
b. {w| w contains the substring 0101 (i.e., w = x0101y for some x and y)}
c. {w| w begins with a 1 and ends with a 0}
d. {w| w begins with substring 1101}
-
Opened: Sunday, 6 October 2024, 12:00 AMDue: Monday, 7 October 2024, 2:30 PM
Submission deadline: 3rd October, 22
Time: 2:30 PM
-
1. Why we need to convert NFA to DFA
2. How to convert NFA to DFA
3. Sub-set Construction Method
4. How to recognize any automata
5. How DFA and NFA works
6. Difference between dfa and nfa
7. How to draw a state diagram from a provided transition table
-
Opened: Wednesday, 9 October 2024, 12:00 AMDue: Thursday, 10 October 2024, 12:00 AM
Convert the following NFA to DFA by using Subset construction Methd:
Consider {a,b} as input alphabet.
1. String starts with ab
2. String ends with ab
3. String does contain ab
-
1. Regular Language to Regular Expression
2. Regular Expression to string generation
3. Regular Expression to Finite Automata
4. DFA to Regular Expression
-
Opens: Monday, 6 April 2026, 8:10 PMDue: Monday, 6 April 2026, 8:50 PM
-
Opens: Wednesday, 8 April 2026, 1:02 PMDue: Wednesday, 8 April 2026, 1:52 PM
-
Opens: Wednesday, 8 April 2026, 1:02 PMDue: Friday, 1 May 2026, 1:52 PM
-
Opened: Wednesday, 20 November 2024, 3:00 PMDue: Wednesday, 20 November 2024, 4:30 PM
Submit your class work here
-
Opened: Monday, 7 April 2025, 12:00 AMDue: Monday, 7 April 2025, 12:00 AM
Submit your class work here
Deadline: 25/09/2023
Time: 2:45 PM
-
Opened: Monday, 7 April 2025, 12:00 AMDue: Monday, 7 April 2025, 12:00 AM
Submit your class work here.
Submission deadline: 25th September, 2023
-
Opened: Tuesday, 8 April 2025, 12:00 AMDue: Wednesday, 9 April 2025, 12:00 AM
Find out e-NFA for the following expressions:
1. (0 + 10*)
2. (0*10*)
3. (0 + E) (1 +E) [E is epsilon]
Convert the provided DFA from slide to RE. Follow the order 2,1,3
Write down your id in top of every page.
Submission deadline: Today’s class
-
Opened: Wednesday, 9 April 2025, 12:00 AMDue: Thursday, 10 April 2025, 12:00 AM
Submit your class work here
-
Opened: Sunday, 13 April 2025, 12:00 AMDue: Monday, 14 April 2025, 12:00 AM
Submit your class work here.
-
Due: Friday, 27 September 2024, 1:30 AM
Find out the "Regular Expression" for the following simple regular language where input alphabet is {0, 1} :
a) {w| w where each string has even length}
b) {w| w where each string has even length}
c) {w| w where each string has length 3}
-
1. CFG Formal Definition
2. Derivation
3. Parse Tree
4. Ambiguity
5. CFG Construction
a) Regular Language
b) Context Free Language
-
1. PDA Formal Definition
2. PDA Construction
3. Transition Function
4. String acceptance
-
Opened: Tuesday, 19 November 2024, 11:00 AMDue: Monday, 25 November 2024, 1:15 PM
-
1. Turing Machine Basics
2. How it works
3. Turing Machine construction (Only for Regular Language)
- Start with
- End with
- Does contain
- Even Length
- Odd Length
-
-
Opened: Tuesday, 10 December 2024, 12:00 AMDue: Tuesday, 17 December 2024, 12:00 AM
-
-
Quiz Type: Written
Time: 25 min
- Write down your answers in a clean paper with your ID
- If you have multiple page write down your ID in the top of every page
- You will get total 30 minutes. Within this time you have to complete your writing and all process for submission
- No late submission will be allowed and don’t ask for extra time
- Submit your answer within this time period (how much you can cover in 25 min, late submission will not be accepted)
-
#SLCourse Title
Code
Section
Google Form
(1)
Theory of Computing
SE 234
D
https://docs.google.com/forms/
d/ 1lY6oZuT5CsfmsF5r2o2xcoHdniX2a 97dp39HIt2QjdI/edit (2)
Theory of Computing
SE 234
E
https://docs.google.com/forms/
d/ 1Jcb4VvbZbP3rkZ3EGFVqnOW09YyDz OuS2JUCFq3SZo4/edit (3)
Theory of Computing
SE 234
C
https://docs.google.com/forms/
d/1sb-_ uKjbZaZusvSCwN8iIanfNfVmzvfPDf _m_e_EuaU/edit (4)
Theory of Computing
SE 234
A
https://docs.google.com/forms/
d/ 1UcKVG0mJKzNdkwXXdLDCvRwOQaqtN CvFtY2JUyg2DO4/edit (5)
Theory of Computing
SE 234
B
https://docs.google.com/forms/
d/1J9JOSlKFYl9BZtvTQDEsk_KC- wndFhvNWUp1R4bbo40/edit (6)
Computer Fundamentals Lab
SE112
C1
https://docs.google.com/forms/
d/1W-I-lQpXEPEUfP_ jgAYf1Yi62hBLcJYx6htrZnICPAI/ edit -
-