Thursday, October 20, 2005

PhD :: Learning how to teach and what to teach

(Written for yesterday)
Today I have been observing how the computing department here at Imperial college introduces programming to first-year computer science students. Haskell is taught to first years here, and it appears that Haskell is quite popular amongst hackers, as discovered at a programming contest for hackers. More details here. Haskell is a functional language. Not many computer science graduates would have even heard about it. I think it's quite unpopular in the programming community, and the main reason for that is there are other functional languages out there which are "more" functional than Haskell. I have noticed that MIT Scheme, a functional language we were taught at Toronto, resembles Haskell to a certain extent, except that Scheme is purely functional.

No first year computer sciencers get to cross the bridge without doing Java. At Imperial, Kenya is used to introduce students to Java. Well, now Kenya has a different story. It hides from it's learner huge loads of useless information, which for someone leanring java for the first time is really a pain. Kenya is an interface to java, where Kenya code is translated to Java code. So for example a new learner can type "void main" in kenya and this gets translated internally to "public static void main". S/He can learn what "public static ... (String[] args)" later on, and concentrate on the logic required to learn programming.

Other UK universities, who are not proponents (or not aware of) of Kenya, have started using a fairly easy-to-use IDE called the BlueJ.

This year I am tutoring for Software engineering methods and Hardware. Dr. Huth and Dr. Gillies are my sueprvisors, and it is a pleasure chit-chatting with them. I try spending informative sessions with them about the course material, and in the process trying to teach myself how to teach these courses.

My meeting with Dr. Ruckert was cancelled early morning. I am meeting him this Friday. I have spent most parts of the day trying to teach myself Haskell.

No comments: