Designing Courseware on Algorithms for Active Learning with Virtual Board Games Nils Faltin Department of Computer Science University of Oldenburg [email protected]
Dec 21, 2015
Designing Courseware on Algorithms for Active Learning with Virtual Board Games
Nils Faltin
Department of Computer Science
University of Oldenburg
Nils Faltin Designing Courseware on Algorithms ...
2
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 ...
3
Goals in Learning an Algorithm
algorithm operationsdata-linking
data-properties
steps-which
steps-why
modify analyze code
compare
Nils Faltin Designing Courseware on Algorithms ...
5
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 ...
6
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 ...
7
Heapsort Functions
heapify-locally
heapsort
move-maxheapify
*
build-heap
*
sort
*
Nils Faltin Designing Courseware on Algorithms ...
8
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 ...
9
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 ...
10
Using the heapify function
pre-condition: child trees heap ordered
post-condition
heapify
Nils Faltin Designing Courseware on Algorithms ...
11
Virtual board game for build-heap
heapify
heapify-locally
swap
Done
Wrong! child trees must be heap
Redundant!
OK! Heapified
OK! Heapified
OK! Heapified
OK! Heapified
You succeeded!
Nils Faltin Designing Courseware on Algorithms ...
12
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 ...
13
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 ...
25
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