In a few weeks I am going to start the programming unit of my tenth grade computer applications course. This will be my 5th time through it, and the previous 4 times have been only partially satisfactory. The course I teach is required, and although the students are all fairly bright, they are not all enthusiastic about this kind of thing. We have about 4 weeks to spend on the programming portion.
I've started with about 4 days of RUR-PLE, where students program a robot sprite to move around inside a maze. RUR-PLE is basically a Python version of Karl The Robot, with a nice interface and some very appealing graphics. This has worked out quite well as a starting point, and introduces some of the basic ideas of subroutines, branches, and loops in a constrained environment. I've found that students are quite surprised to see the kinds of complex behavior that can come from a few lines of code. My favorite student quote: "It's so logical, but so frustrating." >From there, they've gone on to using IDLE, writing the simple text-based "guess the number" sequence of programs that I've seen in several introductory books and the first chapter of the Livewires. This takes a few days, introducing variables and reiterating the looping and branching from RUR-PLE in a more free-form environment. Then we've gone on to do some ultra-simple graphics, using the Livewires primitives to draw circles, lines, etc. This reiterates the subroutines from RUR-PLE, and introduces (with mixed results) return values and parameters. Then we do a little bit with lists - I have them generate random Shakepearean insults from lists of words. >From there, they do some ultra-simple animation, using a loop with sleep() to move disks around and bounce them off the sides of the window, and polling the keyboard to use cursor keys to move objects around on the screen. At this point, about a quarter of the kids are really into it, and they make a simple pong-like game. The other three quarters are dying for the unit to be over. One poster here several weeks ago said that 70% of the kids in their programming courses never really "get it" and unfortunately that's been my experience as well. I'd really like to do better. I'm particularly interested in using Gregor Lingl's xturtle library. I know that versions of turtle graphics have been around for various environments for a long time but I've only started to look at it, and it seems like it should be a lot of fun. More specifically, it seems like if it is used wisely, it should appeal to more of the kids for a longer period of time, and still provide a platform for getting across the concepts. Does anybody out there have any specific experience with teaching Python to this kind of audience using turtle graphics? Are there any books or lesson plans available that you can recommend as a starting point? As a point of reference, the first time I tried to teach Python I thought that the Livewires course would be perfect but I quickly found that, as slow and gentle as it seems to an experienced programmer, it moves way too fast and has way too little hand-holding for most high school kids. Thanks, Andy Judkis Academy of Allied Health and Science Neptune, NJ _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
