> I am winding up my first year as a high school technology teacher, after 20+ 
> years as an engineer and programmer.  I teach 10th graders (ages 15 or 16) 
> in a magnet high school for kids interested in medical careers.   

I think your experiences are quite normal, so don't be frustrated.

> So the idea that much younger kids are grasping syntax like 
> this:
>   >>> thewords = {'noun1':'house', 'noun2':'mouse'}
>   >>> print "In this %(noun1)s there lives a %(noun2)s." % thewords
> makes me weep in frustration.  

No, you shouldn't. You can't expect this from most children I know of. 
This requires a lot of abstract thinking, which is based on lots of 
experience and "having seen this again and again". What you and I can 
read in code is so different from a beginners view, we probably can't 
imagine it.

Working with 15/16 year olds (the 'normal' ones with little formal 
training in math/programming), it does help very much to stick to a few 
restricted environments  as
        turtle programming
        simulations with random()
and doing lots of exercises with apparently little changes to the 
algorithms. We tend to be to fast at this stage, because Python is (for 
aus) so easily readable.

The problem might be that students appear to get bored. But it won't 
help to go faster if you haven't built up some solid ground, be it very 
simple algorithmically. Turtle-Graphics helps a bit with the motivation ...

Loops are not easy for beginners. Still the turtle or Robot helps, 
because you don't have to dicuss variable assignments at this stage, 
which actually _is_ a separate difficult subject.

Look at the heaps of exercise the TeachScheme Project uses for solving 
absolutely simple programs in the first chapters. They know why the do 
it this way.

I guess, I'm a bit frustrated myself that I have no Kings Way to teach 
programming faster, when I see so many possibilities to solve problems 
with Python myself.

Christian

> So, my question is, if you wanted a group of certainly-not-stupid 16 year 
> old kids to at least get a taste of programming, understanding that many of 
> them are there because it's a required course, and they're not predisposed 
> to be interested in it, what would you do?  What is a minimal set of things 
> they ought to be exposed to?  How much time would you spend on it?  What do 
> you think they ought to be able to do at the end of the time?

_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to