220 likes | 354 Views
A Visual Interactive Tool For 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,
E N D
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… Conceptsremain too abstract Theorems and algorithms areused 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 toolforvisual 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 steps Improve integration into the learning process: Extend the coverageof the course material - developed a script language for definition of lesson scenarios Assignments withmandatory use of the tools Levels of accessto 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