Saturday, December 3, 2011

GeoGebra: Leveled Applets

This stuff is crazy.  We can actually make leveled applets that allow students to move on only after they've been successful with the previous level.  I saw this applet the other day and was blown away.  The applet itself is pretty simple, but the fact that it requires students to complete a specified number of exercises perfectly before moving on is the part that really interests me.  The problem is that the thing is in German and there are a bunch of unnecessary steps.  So, looking through the construction protocol proved to be fruitless.  I'm pretty sure the guy who built it is way smarter than I am, so I'll try to simplify this the best I can.

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[ehg, 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.  


Jon Ingram said...

Very nice! Sadly the embedded version isn't working at the moment -- an issue I've run into with the current version of Geogebra when the worksheet uses Graphics 1 and Graphics 2. The downloaded version works fine.

Would it be possible to have a version with the option to move to a particular level straight away, rather than having to start at level 1?

David Cox said...

Yeah, that option is already there. If you download the applet, there are two buttons that are currently hidden. One will reset the applet and the other will advance you to the next level.

Sue VanHattum said...

Every time I try something in Geogebra, I get so stuck. I'm fascinated by its power, but not able to use it yet.

Sarah said...

That's great! I had no idea GeoGebra could do that. Is there a way to see a report on how students did?

David Cox said...

Sue: "Every time I try something in Geogebra, I get so stuck."

I get stuck all the time. The thing that saves me is that I know who to ask. I've found that I'm only limited by my own imagination. I had no idea how to make an applet like this 5 days ago.

Sarah:"Is there a way to see a report on how students did?"

Not at the moment, but I think that may be something that I can have by the end of the evening.

Dan Pearcy said...

Hi David,

I just found your blog after reading through some of the stuff on dy/dan.

One thing is for sure - you have some awesome skills on Geogebra! :) I love your applet on the diagonal line problem although I've never seen the 'floor' and 'ceil' commands before???

Even though I am nowhere near as handy with Geogebra as yourself, I can identify with your comment about trying to analyse the construction protocol of different applets - can be quite frustrating at times (especially when in a different language!) which is why I am massively appreciative of your work decoding rami's progressive levels algorithm - excellent stuff!

All the best.

Dan Pearcy

David Cox said...

I wish I could take credit for the diagonal problem or the leveled applets. The diagonal and the basis for the leveled applet are both Rami's. Linda Fahlberg-Stojanovska was huge in bringing the leveled applet algorithms to a level I could somewhat understand.

They deserve all the credit.

Matt Krebs said...

Hello David,

I just now read your explanation for how you can program your Geogebra file to keep track of students correct and incorrect answers. I would like to see the file itself that you were referring to.

Do you have it -Or is there anyway I can access it?



David Cox said...

Not sure why the link in the post is broken. Here's a link to the practice applet. You should be able to download from there.