Designing Courseware on Algorithms for Active

Designing Courseware on Algorithms for Active
Learning with Virtual Board Games
Nils Faltin
Department of Computer Science
University of Oldenburg
[email protected]
Contents
• Didactical Goals in learning an algorithm
• Textbook vs. courseware, role of exercises
• Design method SALA
– Structuring into sections
– Treatment of functions
– Virtual board game
• Material prototype tests
• Example courseware products
Nils Faltin
Designing Courseware on Algorithms
...
2
Goals in Learning an Algorithm
steps-which
data-linking
algorithm operations
data-properties
modify
steps-why
analyze
code
compare
Nils Faltin
Designing Courseware on Algorithms
...
3
From textbook to courseware
?
Nils Faltin
Designing Courseware on Algorithms
...
4
Structuring Algorithm Courseware into Sections
Why split into sections?
Typical sections:
•
•
•
•
•
Problem
Comparison of Algorithms
Link structure and ordering properties
Functions of the Algorithm
Implementation
Nils Faltin
Designing Courseware on Algorithms
...
5
Structuring the Heapsort Courseware
• Sorting problem
• Heapsort vs. other sorting
algoritms
• Complete binary tree
• Heap property
• Each Function
• Storing the heap and the
result list
Nils Faltin
Designing Courseware on Algorithms
...
6
Heapsort Functions
heapsort
sort
build-heap
*
*
heapify
move-max
*
heapify-locally
Nils Faltin
Designing Courseware on Algorithms
...
7
Learning an Algorithm Function
1 Problem statement
– purpose of new function
– available functions
– sketch code of new function?
2 Problem solving exercise
– sequence of applying av. functions to data example
– experiment: virtual board game
3 Standard solution
– explain the function code
– student practices the steps (virtual board game)
Nils Faltin
Designing Courseware on Algorithms
...
8
Virtual board game
•
•
•
•
•
Visual display of data structure
Functions by direct manipulation
Room for errors
Visual and textual feedback
Name: „virtual board game“
Nils Faltin
Designing Courseware on Algorithms
...
9
Using the heapify function
post-condition
heapify
pre-condition: child trees heap ordered
Nils Faltin
Designing Courseware on Algorithms
...
10
Virtual board game for build-heap
OK! Heapified
Wrong! child trees
must
be Heapified
heap
OK!
heapify
OK! Heapified
OK! Heapified
heapify-locally
swap
Redundant!
You succeeded!
Done
Nils Faltin
Designing Courseware on Algorithms
...
11
Material Game Prototypes
• Test vbg-idea, learning process
• Card board and flanell prototype
• Informal tests
–
–
–
–
aid in explaining
students liked it
alternative solutions
linked tree?
• Prototype test good for courseware
design
Nils Faltin
Designing Courseware on Algorithms
...
12
Courseware: Binomial heap
• Courseware we developped
– Master thesis
– Web based
• Binomial heap courseware
– developed after SALA
– formally evaluated
– demo: union function
Nils Faltin
Designing Courseware on Algorithms
...
13
Union function
Nils Faltin
Designing Courseware on Algorithms
...
14
Nils Faltin
Designing Courseware on Algorithms
...
15
Nils Faltin
Designing Courseware on Algorithms
...
16
Nils Faltin
Designing Courseware on Algorithms
...
17
Nils Faltin
Designing Courseware on Algorithms
...
18
Nils Faltin
Designing Courseware on Algorithms
...
19
Nils Faltin
Designing Courseware on Algorithms
...
20
Nils Faltin
Designing Courseware on Algorithms
...
21
Nils Faltin
Designing Courseware on Algorithms
...
22
Courseware: ESPRESSO logic minimizer
Nils Faltin
Designing Courseware on Algorithms
...
23
Courseware: LALR parser generator
Nils Faltin
Designing Courseware on Algorithms
...
24
Conclusion and future work
• Method SALA (PhD thesis)
• Courseware for active learning
– www-cg-hci.informatik.uni-oldenburg.de
• Positive feedback from authors and users
• Qualitative and quantitative evaluation
• Potential of courseware for active learning
Nils Faltin
Designing Courseware on Algorithms
...
25