Hello all.
If any of you have any helpfull information about my questions below, I will be very gratefull.
I recently finished my Masters thesis - called "Learning OOP using Graphical Programming environments - An Experimental study" - at the University of Oslo. I now work as a researcher in the COOL (Comprehensive Object-Oriented Learning) project here in Oslo. Information about the COOL project can be found on http://www.intermedia.uio.no/cool/
In this project we are trying to explore different methods for teaching OOP by looking at what others have done and experimenting ourselves. My job is conducting experiments and gathering as much data as possible. We are currently trying to set up new experiments and one of them will be attempted on children of 11-12 years old. The reason for selecting this age group is because of having to use an english tool. We are aiming a three days experiment where we will try to teach the children basic Object Oriented concepts. We have decided not to focus on code as we feel there is a risk this can get boring. Instead we are focusing on general OO understanding and the use of a graphical tool therefore seems like the way to go. Right now we are considering Squeak and Alice.
I finally come to the reason I write this post: I am looking for some good examples off activities in Squeak to present to our group of subjects. Something that is educational and fun. The hard part will be finding activities that will be fun and interesting. I have been looking at the Internet for some examples and I have found a few good ones. I really liked the Race car example as it captures good points about OO: That there are multiple ojects in one system that have certain characteristics and that one object (the steering wheel) can affect the other object (the car). If we in addition make a race track and race conditions and get the students to race their cars, we are really talking fun and educational at the same time! But I would like more examples than just this one, something that can appeal to people who don't like cars and also examples that illustrate other aspects of OO. Here are a few suggestions to points we feel the pupils should be introduced to. There may be too many here and I may have forgotten some and a couple may not be very good, but here goes: 1. A computer program consists of many objects. 2. An object is an "independent" chunk of information. 3. Objects can affect each other and change each others behavior. 4. We have different types of objects. 5. We can program the objects to a certain behavior. 6. Simple pseudo code. 7. Not all objects need to contain all sort of information, It is important to find relevant information to go into an object (A steering wheel, doesn't need the color of the car, for instance). 8. How to make a model of a larger computer system. To make drawings of what we need.
If any of you know of any good examples on the Net where it is possible to get some inspiration, I would be very gratefull. Or if you have examples you have used in your classes, that would also be great. I am not asking for complete examples, but suggestions of topics and such. I have been tossing a few ideas around but more input would be very helpfull.
Thank you for your time, it was a long post.
Best regards, Richard Borge. Cand.scient. Department of Informatics, University of Oslo
squeakland@lists.squeakfoundation.org