Gabriel Farrell on 22 Mar 2007 16:32:42 -0000 |
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
|
|