I just finished teaching a semester high school course of survey of programming languages, intended for students who already had learned Java (a handful of whom sat for the Comp Sci AP this year). If I teach it again, I may reverse part of my sequence: First quarter: I taught Python using notes that had been translated from C to C++ to Java to Python along the years. Because the students had already seen the Java version of the lectures (their Java instructor got the original notes from the same C teacher that I did), we were able to plow through the equivalent of a year-long programming course in a little less than a semester, leaving some time for special Python constructions like lists, dictionaries, string libraries, tkinter, etc. Second quarter: language of their choice, with projects of their choosing (potentially with guidance); one student chose COBOL, several perl, a Ruby, an assembly, and a C#. Final project (which, in retrospect, would also have made a good intro): I gave them pysteroids, a pygame package, and they were to *make the asteroids either really fast or really slow; *make themselves invincible (without crashing the game -- some students learned quickly that having their health grow, perhaps through multiplication of the computed damage instead of subtraction, would make their health "too big" and crash the window); reverse the controls so that left goes right and right goes left; and do at least one other thing to dork around with the code. They were solidly engaged for 80 minutes, even after being graded on the assignment, and afterwards said that it was the best programming assignment they had received. In the future I would strongly consider starting out with this "final project." I was surprised by what some students came up with when I suggested that they do "at least one other thing" without specifying that other thing, and this also encouraged them to be original (rather than, say, copying their neighbor's code) and to give each other positive reinforcement. For context, this class is intended for magnet seniors (roughly 18 years old) in a combination traditional (neighborhood) and magnet school with a population of roughly 2000 students in Maryland. A magnet school draws students from around the district who have an interest in a particular field; in our case, they should be interested in math, science and/or computer science; and they are required to have passed Algebra I in middle school. I'm including this last paragraph purely for context, not for discussion per se. Thanks! -Lloyd Allen
On 5/14/06, Lloyd Hugh Allen <chandrakirti@gmail.com> wrote:
I just finished teaching a semester high school course of survey of programming languages, intended for students who already had learned Java (a handful of whom sat for the Comp Sci AP this year). If I teach it again, I may reverse part of my sequence:
Thanks for the update Lloyd. I haven't looked into Pysteroids yet (legal?). Thanks for the pointer. Kirby
participants (2)
-
kirby urner
-
Lloyd Hugh Allen