Visu(al and Virtual)Algo(rithm) Instructor
By Steven Halim
On why I build this thing...
I taught the following algorithm classes in NUS SoC:
(At least) no 1-4 and 7 CAN be automated
I can clone myself...
and make my 'virtual clone' available 24/7
to anyone with Internet access?
Frequency | # Questions | |
---|---|---|
Many Other Modules @ NUS |
11 weeks Tutor-limited |
3-5 Qs/week Reuse past year |
My CS2010 class with VisuAlgo Online Quiz |
"24/7" 1-to-1 tutor |
#100+ Rand Qs in Q bank & growing |
Later... CS2040/C, CS3233, CS4234 |
As above | As above With MUCH bigger Q bank :) |
Frequency | When | |
---|---|---|
Many Other Modules @ NUS |
Usually 2 times |
Mid Semester, End of Semester |
CS2010 with VisuAlgo Online Quiz |
At least 4 times |
Week 01, 06, 11, End of Semester |
Later... CS2040/C, CS3233, CS4234 |
(Much) more frequent | Maybe a small chunk every week, all automated :) |
I used my collection of past
data structures and algorithms exams @ NUS 2003-2010
and my own CS2010 exams (2011-2016 :O)
Some (but not all) of these questions can be automated
Static questions = fixed answers
Issue: Memorizing the answers versus
understanding how to derive the solution
We need to build a system that can
generate questions with randomized parameters
As the questions are randomly generated,
we cannot hardcode the answers
Real algorithms verify the answers (note: there can be ≥1 valid answers) for all questions instantly behind the scene
We give (visual) instant feedback if the answer is wrong
This way, the student can always re-study the visualizations, re-generate new random questions, re-train, and so on until they achieve self mastery of the basic topics
Given a random directed weighted graph (from templates),
compute the shortest path from a random source vertex s
to a random destination vertex t?
Easy: Small Graph; Medium: Medium Graph; Hard: Graph with negative weight edge(s)/cycle(s)
If student X/Y answers correctly/wrongly,
We congratulate X but give feedback to Y by showing the visualization of the appropriate Shortest Path algorithm on the same randomized directed weighted graph G
This check is done by a back-end PHP script that really runs a Bellman Ford's algorithm
So that students cannot run the algorithms
to generate the answers on their own computers
Strengths/Weaknesses/Opportunities/Threats
It is currently impossible to replicate a creative lecturer's brain with a computerized system
Basically, it cannot generate a new question type
that has not been added by the developer
So, clever and diligent NUS students can ace the Online Quiz
It is NOT for Final (Summative) Assessment level yet...
But good for 'Formative Assessment' level at the moment
Too easy to make careless mistake
Try VisuAlgo, tell your (CS) colleagues/friends/students