View Proposal
-
Proposer
-
Radu Mardare
-
Title
-
Teaching tool for studying Finite Automata and Regular Languages
-
Goal
-
Develop a teaching tool for Finite Automata and Regular Languages that integrate visual support and encode various dedicated algorithms
-
Description
- Finite automata (FA), in the form of deterministic finite automata (DFA) and non-deterministic finite automata (NFA), are a class of fundamental computational devices that recognize Regular Languages. They are intensively used in the practise of computer science, and they have been studied repeatedly in our courses.
The aim of this project is to produce a teaching app that can help the students studying and manipulating FAs. The app should propose an appropriate interface where the students can design and work with FAs. There are many possible operations on FAs that can be automatized, such as:
- The graphical construction of a DFA or NFA and its mathematical specification
- Given a DFA or NFA, the simulation of computations on particular inputs
- The determinization of a NFA
- Computing operations with FA – Union, Concatenation, Star, Intersection, Complement
- Computing the regular expression that characterizes the language recognized by a FA
- Construct a FA that recognizes a given regular expression
- Construct a FA for the reversal of the language recognised by a given FA
- Minimizing a DFA
- Resources
-
-
Background
-
Basic knowledge of Automata Theory as presented, for instance in M.Sipser "Introduction to Automata Theory"
-
Url
-
-
Difficulty Level
-
Moderate
-
Ethical Approval
-
None
-
Number Of Students
-
3
-
Supervisor
-
Radu Mardare
-
Keywords
-
finite state automata, regular languages, models of computation
-
Degrees
-
Master of Engineering in Software Engineering
Master of Design in Games Design and Development
Master of Science in Computing (2 Years)
Master of Science in Information Technology (Software Systems)
Master of Science in Software Engineering