Increasing Interaction and Visualization in the Computability Course

Download Report

Transcript Increasing Interaction and Visualization in the Computability Course

A Visual & Interactive Computability
Course Emphasizing Breadth of
Automata
Rakesh Verma
Computer Science Department
University of Houston
http://www.cs.uh.edu/~rmverma
SIGCSE 06: NSF Showcase
CS@UH
1
Outline




The problem
Proposed solution
Teaching experience summary
Conclusions & future work
SIGCSE 06: NSF Showcase
CS@UH
2
The Problem

Learning and teaching Automata Theory
are challenging tasks




Abstract, difficult material
Considerable creativity required
Slow feedback in traditional format
Student perceptions make it worse


Dated material, of little use
Dry at best and boring/frustrating at worst
SIGCSE 06: NSF Showcase
CS@UH
3
Challenges Specific to UH

Large, urban institution with a mature
and diverse student population


Some loss of mathematical knowledge
Significant number of working students

In-school tutorial sessions difficult
SIGCSE 06: NSF Showcase
CS@UH
4
Goals


Enhance learning and learning
experience by increasing: visualization,
interaction, and faster feedback
Expose students to:



A variety of automata
Applications, especially recent ones
Historical background and development
SIGCSE 06: NSF Showcase
CS@UH
5
Proposed Solution

Complete revision of course contents
and teaching with:



integration of enhanced JFLAP (Duke U.)
and LRR (UH)
variety of automata, e.g., tree and DAG
automata
recent and classical applications of
automata
SIGCSE 06: NSF Showcase
CS@UH
6
Solution (contd.)

We have developed:




Power point slides for lectures including
JFLAP animations (LRR animations in F05)
New problem sets requiring use of these
tools
Notes on tree automata and DAG automata
Web site:
http://www2.cs.uh.edu/~rmverma/3340ne
w/html/index.html
SIGCSE 06: NSF Showcase
CS@UH
7
LRR and its advantages

LRR – input is a set of rules and an
expression

Each rule is l  r, where l and r are expressions
with variables and operators



Example: x + 0  x and x + -x  0
Applies rules via matching to given expression
LRR can implement any computation

A Turing machine can be encoded via just one
rule!
SIGCSE 06: NSF Showcase
CS@UH
8
Visualizing Tree Automata


Instead of developing another package
we use LRR with RuleMaker – a
graphical interface
DFA example:




a(q0)  q0
b(q0)  q1
Final(q0)  true
Final(b(a(q0))?
a(q1)  q1
b(q1)  q0
Final(q1)  false
SIGCSE 06: NSF Showcase
CS@UH
9
Examples (contd.)

NFA can be simulated as below:


a(a(q1))  q2 (string) q0  q1 (epsilon)
Tree automaton example:



true  q0
and(q0, q0)  q0
and(q1, q0)  q1
false  q1
and(q0, q1)  q1
and(q1, q1)  q1
SIGCSE 06: NSF Showcase
CS@UH
10
UH Enhancements to JFLAP


“Debug” feature – students can
generate strings at random and find the
results for all the strings
Equivalence checking for DFA’s (this is
now part of JFLAP version 4.0)
SIGCSE 06: NSF Showcase
CS@UH
11
Preliminary Results

Students participating in special
problems and projects on automata
5
4
3
Students
2
1
0
1990-98 (7s.)
2002-04 (5s.)
SIGCSE 06: NSF Showcase
CS@UH
12
Prel. Results (contd.)


Positive feedback on surveys regarding
JFLAP/JFLAP++ and web-site materials
Students from this course showed
improved performance on subsequent
compilers course compared to
traditional versions taught by other
faculty
SIGCSE 06: NSF Showcase
CS@UH
13
Conclusions



Automata theory can be made
interesting and easier
Visualization is helpful
Interaction is key – during lectures and
outside class
SIGCSE 06: NSF Showcase
CS@UH
14
Future Work



Rigorous comparison with “traditional”
automata courses
Further development of materials on
breadth and applications of automata
A drastic revision of course contents …
SIGCSE 06: NSF Showcase
CS@UH
15
Acknowledgements

Students






Saquib Hakim (JFLAP++ and slides)
Mohammad Anwar (web site)
Pavan Podila and Patrick Sharkey (RuleMaker)
James Thigpen (integration with LRR)
Sponsor: National Science Foundation
The students who have enjoyed/suffered
through my course!
SIGCSE 06: NSF Showcase
CS@UH
16
Thank You!
?’s or !’s
For more info:
http://www2.cs.uh.edu/~rmverma/334
0new/html/index.html
SIGCSE 06: NSF Showcase
CS@UH
17