Wednesday, December 28, 2011

Organizing Instruction and Study to Improve Student Learning

I am taking a P2PU course:

One of our first tasks is to review this post on the Software Carpentry blog, which compares Greg's attempt to teach online with these research-based best practices.

The following are the recommendations of the research study, along with my thoughts and reactions to these recommendations and how to apply them to teaching young kids 8-16 programming:

1. Space learning over time. Arrange to review key elements of course content 
after a delay of several weeks to several months after initial presentation.
I would say I am not good at this, I tend to cram a lot of learning into a small period of time.  I need to think about this and how to incorporate review of key concepts.

2. Interleave worked example solutions with problem-solving exercises. Have 
students alternate between reading already worked solutions and trying to solve 
problems on their own. 
While I have thought about about providing kids "good literature" to read (aka, well written pieces of code) I rarely do it in practice.  Instead I try to find kids who write good code (or better code) and ask them to show that code to the class while complimenting them on what I see are the important lessons for all to learn from that code and the way it evolved.

For example I teach using the 40 mathematical shapes 
challenge from Barry Newell's Turtle Confusion (1988).  I first ask them to draw simple shapes triangle, rectangle, and pentagon.  These 
first few examples easily lead to a more generalized solution, which with some careful questioning or simply asking them to look at and compare and contrast their solutions, leads them to the "aha" moment of seeing a more general solution that solves all three shapes (and more).

Now how do you do this with "Free-Range Students" (not sure what is meant by that, but I assume students outside of a traditional classroom setting who are self learners) is a much harder challenge.  One possible method would be to do an "Etoy Challenge" type project.
"Etoys Challenge" is a Tutorial embedded in the Etoys image where a select set of scripting tiles are available and visible for the learner to solve a particular problem/challenge.  So after they complete the various challenges (drawing the triangle, square and pentagon), I could have the Etoy project show them their different scripts all on the same page to facilitate easier comparison.  I would then ask them "What's the same about these scripts and what is different".  Still not all kids will get this and a teacher/mentor to guide them would be needed.

Now the report did not mention (at least not in this section, but I guess they did in a way in other recommendations) what kinds of "worked examples" work best.  For example in their report they show a Worked Algebra problem:
Below is an example solution to the problem:
“Solve 12 + 2x = 15 for x”
Study each step in this solution, so that you 
can better solve the next problem  
on your own:
 12 + 2x = 15
      2x = 15-12
      2x = 3
       x = 3/2
       x = 1.5 
Now using Algebra as an example (because it is a lot easier for me to explain my point using an Algebra example than to come up with a programming example)  What I would do if teaching this and incorporating examples is to:

  1. Show there is more than one way to solve the problem.  "you don't really know something unless you know it multiple ways" - Marvin Minsky
  2. Make the invisible visible and highlight key concepts, such as balance and reduce to drive home that fundamental method. Here I might use visuals such as a balance scale.
  3. Provide opportunities for concrete practice in solving the problem (perhaps a virtual interactive showing a balance scale, with UI elements to add/subtract/... to the scale pans.

Items 2 and 3 are inline with recommendations in the report. I did not see item 1 mentioned and would be curious if there is research on this.

Hopefully we will learn in the class about some good worked programming examples we can use.

There are 5 more recommendations from the report which I will think about and blog about later, but why wait read the report, its well worth your time. 

Monday, December 19, 2011

Fraction Multiplication and Division Derivations

The following are from Alan Kay's derivations of Fraction Multiplication and Division (w/o Algebra)

Below is an excerpt from an email from Alan about the project:

Through the magic of how the Squeak VM and the Squeak image are done, this image from Disney times (before 2000) can be run today on a completely different Mac CPU and OS.

About 80% of the elementary school teachers I asked back then what turned them away from math said "invert and multiply". Schools have almost always introduced this as an article of faith in 5th or 6th grade. So it is quite incomprehensible and completely non-math.

If they waited for a few years, this can easily be derived by algebra. But they don't wait.

So I decided to try to do a completely iconic derivation (that is also a proof) that would be more in the 10 and 11 year olds' mental wheelhouse. 

I wanted to avoid algebra, and I also wanted to avoid having to use the "multiplication of fractions" rule. No one worries about this one because "it looks reasonable", but in fact it is the harder of the two relations. It was one of the triumphs of Greek mathematics.

So the division of fractions project directly derives the "invert and multiply" result without needing the multiplication rule.

The white arrow in the yellow explanation oval will go to the next step. I thought back then about being able to also run this backwards but didn't do it. Being able to freely go in either direction really helps I think, so this should be added.

There is a project link to a similar sequence that shows an iconic derivation for the more difficult and subtle multiplication of fractions.

I still think that fractional arithmetic and its understanding should be delayed -- but if schools don't have the wisdom and courage to do this, they should at least teach it -- and all math -- only via understanding, not via faith in a rule.



Monday, December 5, 2011

Fraction A Day - Fraction Multiplication

Today I revisited Fraction Multiplication adding controls to the Fraction Multiplication visualization to simplify modifying the fractions.  So that when you mouse over the fraction controls appear to allow you to modify the numerator and denominator.  I also played around with larger buttons to make it easier on touch screens, but that still needs some work.

I would also like to make it easier to facilitate comparisons, so kids can compare 2/4 x 2/4 with 1/2 x 1/2 etc.  The goal being to make the comparisons easy to make so they can focus on the fractions rather than the artifacts of making copies of fraction images.

Thursday, December 1, 2011

Etoys/Google Apps Integration takes 2nd place at Google Hackfest

Steve Thomas and Brett Schlueter 
A lot of fun at Google Apps Hackfest in NYC (although I thought it was a Google App Engine Hackfest and had to do some quick thinking to come up with a new project idea).  There's a lot to be said for having the API authors there with you to get you quickly over technical hurdles (special thanks to Vic Fryzel for his help).

We were able to use exported images from an Etoys book to create a Picasa Web Album and a Google Doc with images from the Etoys project, that could be commented on by the teacher.  We were also able to integrate this into Google App Engine to play a slideshow of the project pages and have a link to the google doc, so a teacher could comment on it, or the student could use it, to further describe the project.