Gabriel Farrell on 22 Mar 2007 16:32:42 -0000


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

Re: [PLUG] Educational Languages


On Wed, Mar 21, 2007 at 07:06:41PM -0400, Matthew Rosewarne wrote:
> 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...

I'm biased toward Python, having really enjoyed using it for a while
now, so that might impede my argument for it.  Also, others have
mentioned most of the pros.  

That said, I'd like to second (third, fourth, eighth?) the suggestion
to use Python.  It's the closest thing I've found to "executable
pseudocode", so it's great for explaining concepts, with clean syntax
for both functional and OO programming.  There are a ton of teaching
materials out there [1].  The unicode support isn't as kludgy as it is
in some other languages I could mention.  And last but not least, the
library support means students can write software for a variety of
applications.

Okay, I'll stop.  Nothing worse than the compliments of a fan.

I also agree with your efforts to counteract any specific language
dependence by showing examples in a number of languages.  You can't
learn CS by learning just one language!  If you really want to blow
their minds, put the parentheses and power back in Logo by including
some examples in Lisp.

Gabe

PS If you're looking for ideas, examples, or best practices for
Python, I highly recommend the Python Cookbook.

[1] A google search for (teaching python) returns great results,
including the highly relevant "Using Python in a High School Computer
Science Program" (at http://ln-s.net/KZ6 or
http://www.python.org/workshops/2000-01/proceedings/papers/elkner/pyYHS.html).

___________________________________________________________________________
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