Tutorial Generation Work
This week I spent a lot of time going through the code of the BlocktStatementGenerator, and trying to figure out how it was generating tutorial steps. This is where I will eventually need to make my changes to implement the aspect focusing in the tutorials. However, while the idea of what I was trying to do is pretty simple, the actually doing it is far more complicated. So Kyle suggested getting some help from Dennis to get this actually up and running. So hopefully I can get this part working soon, but for now, I have it generating only the count loop, and not the statements inside (yes, the opposite of what I actually want it to do, but the first step in a later part of my plans).
In the meantime, after I stopped messing with the note skipping part, I went on to the next step, which was inserting the play steps after each part of the tutorial, since the idea is to drag something in, play, drag some more stuff in, and play again to see the difference. After all the time I spent getting to know the code in the BlockStatementGenerator, inserting play steps was waaaaaaay easier. I knew pretty much where to insert them into the method, and those are now working nicely.
Yay! Lots of play statements! But, no, really. It will have a purpose once this starts working correctly! You can notice that there is only a play step after the count loop, because you don't want the user to replay after every action they do, but only those relevant to the construct they are learning. And there won’t be an empty count loop either...
I then moved onto trying to work on the next part of my personalization, which was implementing the block statements. That’s why I have the tutorial only inserting the count. For the block statements, I am going to have to stop the inside statements from being generated into steps, and insert them into the count loop automatically, and then have the entire count loop be a step. I can’t actually get to that part until we figure out how to move the inside statements, which is what I need for the first part as well. So for now, I have it just stopping the inside statements, but not doing anything else with them. I am now working on creating a space for these generated blocks of code, and thought to put them in a tab on the lower-left pane, where I had originally placed them in my proposal designs.
Remember this? :
So I have been working on creating a new TemplateComposite, basing it off of the ControlFlowComposite, which is the action ordering boxes tab.
On a separate note, Saturday we had our first official user study, which was pretty cool. I didn’t know what to expect, and things started off a little hectic, but Caitlin, Kyle and I got the hang of things pretty quick. All in all, I think things went pretty well. We had a few bumps here and there, but nothing detrimental. It was neat to see kids using the final product all of our science center trips created. It’s cool to think back and see how much it and the users’ experiences have changed through each modification. I have to say that I am very glad I got to be a part of that this summer. Though it was a lot of work, and sometimes stressful with the impending deadlines, I think it was a really great experience for me.