Here's a hot-off-the-press result for those arguing with their department over whether to use Java or Squeak in their undergraduate courses.
One of the particularly challenging topics in undergrad user interface software is Model-View-Controller. Lots of people (Jack Carroll, Randy Pausch, others) have written about the challenges that students have trying to understand such a system. I've been trying a whole bunch of different techniques over the last few quarters to help students learn this topic, from more live demonstrations, to teaching the individual pieces separately (changed/update separate from use in user interface systems). I've never got much more than an average of 50% on a midterm problem on MVC.
This quarter I did something different: We "grew" MVC in class. Students are building three interfaces in class, and on none of these can they use library facilities for windows and buttons. Instead, they can only draw with Pens, display Forms, and read the Sensor. Now, they are faced with the question that MVC was meant to answer. During lecture two weeks ago, we "grew" MVC over the course of four iterations of a user interface. We started out by just blasting an interface up and dramatically modifying our model class. Then we separated out the buttons, then made them pluggable, then introduced changed/update and created pluggable textareas. We talked through creating Controllers and other kinds of components.
What's important about this in the Squeak vs. Java argument is that it is very hard to do this kind of progression with Java, or just about any other language. Drawing without windows is a no-no, and grabbing raw user events is really tricky. But my hypothesis is that without facing the task of UI *without a toolkit*, students have a very hard time understanding how the toolkit works.
Last week was the midterm exam, and again, I included a very similar problem to ones I've used before. Here are the results for the last four offerings of this course (grades normalized to between 0 and 1.0).
Averages Sttdev CS2390Sp98 0.864705882 0.26834552 CS2390W98 0.539622642 0.34186272 CS2390Sum97 0.536170213 0.39902234 CS2390Sp97 0.441568627 0.36106493
Is the Spring 98 Quarter (now) *REALLY* better than Winter 98? I had the same grader and the same grading scale last quarter and this. I did a one-tailed T-test on the two sets of grades datas. p=4.4E-13 is much less than 0.05, so I think I'm safe claiming statistically significant difference.
I plan to write a technical report on this soon, but I thought that y'all might be interested in some raw, early results.
Mark
-------------------------- Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
Mark, Thanks for sharing your results. Bravo!! Look forward to reading your paper. Keep up the excellent work. Phil
Mark, this is a terrific result!
-- John
From Mark Guzdial: Here's a hot-off-the-press result for those arguing with their department over whether to use Java or Squeak in their undergraduate courses. ...
Last week was the midterm exam, and again, I included a very similar problem to ones I've used before. Here are the results for the last four offerings of this course (grades normalized to between 0 and 1.0).
Averages Sttdev
CS2390Sp98 0.864705882 0.26834552 CS2390W98 0.539622642 0.34186272 CS2390Sum97 0.536170213 0.39902234 CS2390Sp97 0.441568627 0.36106493
Is the Spring 98 Quarter (now) *REALLY* better than Winter 98? I had the same grader and the same grading scale last quarter and this. I did a one-tailed T-test on the two sets of grades datas. p=4.4E-13 is much less than 0.05, so I think I'm safe claiming statistically significant difference.
I plan to write a technical report on this soon, but I thought that y'all might be interested in some raw, early results.
Mark
squeak-dev@lists.squeakfoundation.org