Upload
isabel-carr
View
212
Download
0
Tags:
Embed Size (px)
Citation preview
A 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
The 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.
Learning 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
Learning 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”
More 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
And 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
As a result…
Concepts remain too abstract
Theorems and algorithms are used improperly
Common problems left without proper attention
The 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
To 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
Interactive 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
Interactive 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
Visual creation of models
Learn basic elements, their properties & relationships Different views of model (diagrams vs. math notation)
Static checks
Reveal hidden properties; find errors / omissions Examples: no final states, missing transitions; unused
grammar symbols
Simulation 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)
Transformations 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
Selecting 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
Share 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
Summary 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
Further stepsImprove 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 tool’s functions, according to course schedule
Use of tools in synchronous teaching
Interactive Tools for Teaching Automata and
Formal Languages
Thanks for your attention