Matthew Rosewarne on 21 Mar 2007 23:06:56 -0000 |
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 ___________________________________________________________________________ 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
|
|