Keeping track of student success pretty much requires three things.
True or False
Conditions must be set to determine whether the student's answer agrees with the target answer. This part made my head hurt. Having different levels made setting the conditions tough at first, but once I got a feel for what I was doing, the work started to flow.
Let's take a look at my level 1 problem.
In order for a level 1 problem to be considered correct, two conditions had to be met:
1. The line graphed by the student (h) had to be the same as the line generated by the applet (e).
2. The "Check Answer" button had to be clicked. The button was tied to boolean value g.
I entered the conditions for each problem type's correctness into the GGB spreadsheet and this what was entered into cell C2:
=If[e ≟ h ∧ g, true, false]
Each subsequent cell was used for the next level. (ie. C2 -> Level 1, C3-> Level 2, etc.)
Each individual condition for correctness was tied to a global correct boolean value named AnswerCorrect.
The condition for AnswerCorrect to be true is below.
If[C2 ≟ true ∧ ActualLevel ≟ 1 ∨ C3 ≟ true ∧ ActualLevel ≟ 2 ∨ C4 ≟ true ∧ ActualLevel ≟ 3 ∨ C5 ≟ true ∧ ActualLevel ≟ 4 ∨ C6 ≟ true ∧ ActualLevel ≟ 5 ∨ C7 ≟ true ∧ ActualLevel ≟ 6 ∨ C8 ≟ true ∧ ActualLevel ≟ 7, true, false]
The blue text represents the condition for a Level 1 problem.
The AnswerCorrect and AnswerWrong booleans were tied to two buttons: ButAnswerCorrect and ButAnswerWrong. These show up with the basic condition under the advanced tab.
This is where the magic happens. I'm still learning how to use the scripts, but this is where the levels advance, construction is reset and a new problem is generated. Both buttons have scripts, but the ButAnswerCorrect button is the most complex. These scripts can be used as a template for future applets. This is a good thing because there is no way I could create this on my own.
The applet I created is here. Double click the applet to open it in a GeoGebra window. You can then save it and play around with making your own.
I'd really appreciate feedback on this. If you have any questions, leave them in the comments and I'll do my best to answer them.
Big thanks to Linda for helping me weed through the junk on this.