[Chicago] Python in local school systems?

Chad Glendenin chad at glendenin.com
Thu Feb 1 19:25:39 CET 2007


I've been thinking that computer games could be a good way to teach
things at the high-school level, but not in the sense of turning
programming itself into a game. I was thinking that actually creating
games might be a good exercise. When I was in high school, a couple of
my friends started programming because they wanted to create some kind
of video or adventure game. I think it might be a way to motivate
students to learn more math as well as CS. For example, 3D computer
graphics is all about linear algebra (which I think could/should be
taught at the high-school level anyway), and the pieces they would need,
like normal vectors and transformation matrices, are actually pretty
straightforward. If they're trying to simulate some kind of physical
behavior in the game, then they would need to know at least basic
kinematics. (The player just fired a rocket. Will he hit the target?) A
lot of that can be done with simple algebra, but it could give them a
taste of using calculus.

There's plenty of good CS involved in gaming too. In Dave Beazley's
networks course, I worked with Atul Varma on a networked computer game
for the final project. I think Atul ended up doing most of the real
work, because he's a better and faster coder than I am, but it was a
good way for me to learn about distributed objects and get hands-on
experience. And it was fun. :-) We wrote it in Python, of course, which
meant we could focus on ideas rather than getting bogged down in
implementation details.

I wish I could have done something like that in high school.

ccg

On Wed, 31 Jan 2007 20:20:27 -0600, "Michael Tobis"
<mtobis at gmail.com> said:
> On 1/31/07, Cosmin Stejerean <cstejerean at gmail.com> wrote:
> >
> > While I agree with Michael on the value of Python for teaching
> > thinking skills and programming concepts, the problem will be
> > convincing enough kids to sign up for the class. At the high school
> > level most of the kids not interested in programming won't care
> > about programming skills if they can't do something fun (build a
> > board game, etc) and the few people that are interested in
> > programming most likely already know enough to be bored to death by
> > a class that covers thinking skills and for loops.
>
>
> This is absolutely true. One thing you can do is set it up as a game.
>
> see http://www.pythonchallenge.com/ for a good example. We would want
> to make the path a bit smoother, but the idea is good. Lesson N+1
> should be invisible until Lesson N is complete. I call this Super
> Mario Nature. I have believed for a long time that rigorous curriculum
> should be perceived as more interesting than a Nintendo game, becuase,
> after all, it actually is.
>
> We should emulate how the real world works and set up a social rather
> than a solitary practice of computing. This may make life more
> difficult at first for the introverted genius type kids,but it's a
> good model of how the real world works.
>
> We should definitely seek applications that are of interest to
> teenagers. I think Mark Guzdial's (of Ga. Tech) approach of teaching
> programming as a tool for art and music is especially promising.
> Unfortunately his curriculum relied on Jython, which seems to be
> fading from the scene, so he has moved his curriculum to Java.
>
> I think more students will find Java boring and baffling than will
> find an equivalent Python curriculum boring and baffling. So Guzdial's
> retreat to Java is an unfortunate turn. Still, what he is doing is
> very promising. (Look for his books on amazon.)
>
>      The key to teaching folks thinking skills is to capture their
>      imagination and make them want to learn more.
>
> Yes!
>
> mt


More information about the Chicago mailing list