Title: A Visual Interactive Tool For the Course
1A Visual Interactive ToolFor the Course
Automata and Formal Languages
- Holon Institute of Technology
- Mark Trakhtenbrot, Vladimir
Nodelman, Avi Lamai - The Open University of Israel
- Judith Gal-Ezer, Rina
Zviel-Girshin, Michal Armoni, -
Yahalom Humi
2The course
- Mandatory course for 2nd year CS students
- Studies mathematical models of computation
(automata, grammars), their properties and
expressive power, transformations, etc. - Provides a strong background for a variety of CS
areas construction of compilers, verification,
design of digital systems, etc.
3Learning a theoretical CS course is difficult
Why?
- Heavy use of formal methods
- Intuition behind formal concepts is not always
clear - Serious challenge - formal math language
- to describe abstract objects, their properties
and relations - Needed ability of precise math reasoning
4Learning a theoretical CS course is difficult
Why?
- Students background and motivation
- significant break after the high school
- certain erosion in math skills required for CS
studies - seeking a high-tech career tend to view
theoretical courses as something not needed for
real work
5More problems
- Slow feedback
- Student becomes aware of certain
misunderstandings only when getting back the
checked assignment - Often happens too late
- already busy with learning another material
6And more
- Communication problems
- difficulty to use formal language for asking
questions - often not supported technically
- leads to a verbal mess
- In distance education (OpenU)
- rare face-to-face classes
7As a result
- Concepts remain too abstract
- Theorems and algorithms are used improperly
- Common problems left without proper attention
8The challenge
- Help to
- make formal concepts more clear and tangible
- make communication about them easier
- discover problems earlier
- get answers in real time
-
- Use technology to address these issues
-
9To make this happen
- Developed
- interactive tool for visual hands-on
exploration - of the studied computational models
- Prototype
- - covers automata and grammars chapters of the
course - - Windows application, downloaded from the
course site - Internet version
- - so far, automata only
10Interactive tool for AFL course
- Supports the self-study process
- Build-in lessons
- - based on pre-defined scenarios
-
- Build-in exercises and exams
- - american and open questions
- - automatic check of solutions
- - tips provided in case of error
- Unlimited exercising
-
11Interactive tool for AFL course
- Major features
- Visual creation of computational models
- Static checks of model consistency and
completeness - Interactive simulation and animation
- Operations on automata and regular languages
- Transformations of models
- Traceability
- Different levels of details
12Visual creation of models
- Learn basic elements, their properties
relationships - Different views of model (diagrams vs. math
notation)
13Static checks
- Reveal hidden properties find errors / omissions
- Examples no final states, missing transitions
unused grammar symbols
14Simulation and Animation
- Models are not just pictures they are executable
- Interactive animation select next action,
observe reaction - Flexibility one-shot / step-wise forward /
backward etc. - Allows for
- Dynamic check of model correctness
- run under different test inputs similar to
debugging - Explore different derivation policies
- (left-most, right-most, use of backtracking)
15(No Transcript)
16Transformations and Traceability
- Variety of transformations supported
- determinization and minimization of automata
- translation of grammar into a normal form
- conversions Automata ?? Regular Expressions
- Traceability show mapping between source and
target models
17Selecting level of details
- Flexible use of the tool view all details vs.
final result only - Example (determinization) for given NDA, build
equivalent DA - Process
- Build your own solution
- Generate final answer with the tool compare it
with yours - (e.g. compare simulation results on the same
inputs) - Your solution is incorrect, reasons unclear?
- View all interim details, see what went wrong
18(No Transcript)
19Share models to improve communication
- Attach model file when posting a question /
homework - Used by recipient both as doc executable
- replaces messy verbal description / makes it more
clear - can be checked and run
- easier to understand the question and to answer
it - Similar for assignment solutions published by
tutor - view simulate it to compare with your
solution
20Summary of learning process improvements
- Better sense of learned concepts live
tangible - Thorough validation of solutions
- not just 1-2 paper-and-pencil checks
- Easy trial-and-error make changes, check their
impact - Levels of details leading to proper understanding
- Improved communication
21Further steps
- Improve integration into the learning process
- Extend the coverage of the course material
- - developed a script language
- for definition of lesson scenarios
-
- Assignments with mandatory use of the tools
- Levels of access to tools functions, according
to course schedule - Use of tools in synchronous teaching
22Interactive Tools for Teaching Automata and
Formal Languages
- Thanks for your attention