Matthew Rosewarne on 21 Mar 2007 23:06:56 -0000


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Educational Languages


On Tuesday 20 March 2007 19:35, Carl Gustafson wrote:
> Well, I'll agree with you on Java. My take on Java is that it was designed
> to keep novice programmers from chopping their fingers off, unlike C or
> C++, which are more like power saws without bladeguards.

I'd say you'd have to be crazy to teach C++ to beginners, it's such a kludgey 
language it's even frustrating for those who already know what they're doing.  
C is less so, but doesn't do OOP and seems like a great way to teach novices 
some very bad habits.

> There are a number of things I don't like about Java, and some things Java
> does that I think an experienced developer can do better in other
> languages, but for beginning programmers, especially in high school or
> middle school, the automatic memory handling (garbage collection, etc.),
> strong typing, and a development environment that handles a fair amount of
> the nit-picking makes a good starting point.

The problem I have with Java is it's awkwardness, it takes quite a lot of 
boilerplate and setup to do a simple app, which would be the majority of work 
in an intro class.  The teacher I'm helping with this did try to teach the 
class with Java, but found it such a pain that he switched it back to Pascal 
the following year.  That said, the AP argument is quite a good point and 
definitely worth consideration.

What I see as being a good approach would be to use the "How to Think Like a 
Computer Scientist" book in _several_ languages _simultaneously_, Python & 
Logo being my picks.  For example, the teacher could explain the concept and 
demonstrate it using Logo and the assignment for the student would be to use 
that concept in Python.  This approach prevents the students from becoming 
too language-focused, a problem I've noticed in many of the classes I've 
taken myself, so the concepts stay in the forefront and the implementation 
becomes secondary.  Additionally, a sort of special session could be taught 
to those wanting to take the AP, where the lessons would also be explained 
and exercised in Java.

Now if only we could shoehorn Eiffel in there somewhere...

Attachment: pgp18VAUDtzN7.pgp
Description: PGP signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug