I’ve recently assisted a few talks about learning (namely the one given by Stefan Brandle at the University of Mauritius on the 28th of May 2009) and I’ve grown to like the contructivist approach to learning. But at the end of the day, the most important is: no matter how the teaching has been done, it’s what has been learnt that’s important! A new fancy name is needed for that; something like “pragmatism”.
Has anyone considered the possibility that it’s just not fun any more? — Don Knuth, October 2006
The decline in the number of students interested in Computer Science seems to be a worldwide trend. It’s not the lack of prospects that is a problem here, on the contrary, some companies in Mauritius seem desperate for fresh graduate in Computer Science. It’s mostly (at least in Mauritius) that there is the general belief that you’ll be working very hard and that you will need to write programs which is very difficult.
Alice in Wonderland: Chapter 1 – Down the Rabbit Hole
This is where Alice can make a difference. As it was rightly stated by some of the people working on Alice, the goal is not to replace C++ or Java or Python as the first language that is used to teach first year university students programming. The aim is rather to show that programming can be something fun and interesting and it can thus be used prior to the first programming course to teach students the basic concepts of programming like what is a loop? What is recursion? What is a selection statement?Sequence, Selection and Iteration are the three very basic concepts of procedural programming and once completely mastered, there’s just the syntax to learn.
A small Object Oriented movie
Furthermore, Alice allows students to better understand the Object Oriented approach. Right from the start, the student will be working with objects without knowing it.
Suppose I want to create a cow. I need to access the package Animal and draw an instance of the cow from the class Cow and the cow will have some attributes and methods. But to the student, it will only be a movie that he is making. The above screen shot shows the Object Oriented program which uses sequence and loop and below is the movie generated.