Hi Miguel-
We teach computer programming with Python at Stratolab, but I like to
start with Scratch first. ( scratch.mit.edu ) Scratch builds the
higher level programming concepts without the burden of learning
syntax. Scratch programmers learn problem solving, if-then logic,
loops, an variables. With Scratch, students get something working
quickly, which builds their motivation. Then the ones who really
enjoy it can move on to Python. Many are content using Scratch, which
I think is fine. Also Scratch's hardware requirements are relatively
modest.
For the kids who move to Python, graphics are a great way to go--it
provides a lot of positive feedback. PyGame is rather low level. I
use my own MoonUnit wrapper around PyGame ( http://stratolab.com/misc/makebot
), but LiveWires is similar.
As far as teaching tips, do you live anywhere near NYC?
-Winston
On Oct 7, 2008, at 11:26 AM, Miguel Turner wrote:
Hello to all,
I'm posting here because I am planning on teaching a programming
class to kids in a small town in Honduras. I am a Peace Corps
volunteer currently living in a town of about 2,500 people. I
studied CS in college and originally joined the Peace Corps when I
learned that they have been seeking volunteers with technical
backgrounds for some years now in order to develop the use of
technology in third world countries. Needless to say, I am facing a
number of challenges and I thought it would be helpful to seek out
some advice, and maybe see if there was anyone who has been or is in
a similar situation.
I've been a huge fan of Python since I taught it to myself over 3
years ago, and I've used it often, since. I enjoy working in C and
Assembly, but Python was like a breath of fresh air. So, I'm already
sold on the idea of Python as a first language and basically
everything about CP4E. I recently read John Miller's excellent
dissertation on computer literacy, which is what motivated me to
post here.
The colegio (middle/high school) in my town has maybe 150 students,
and 8 working, donated computers. There is currently a computer
teacher who gives very basic lessons in Windows and Microsoft Office
to the 20 or so high schoolers. The town has 1 public internet
connection at an internet cafe with 3 computers and a satellite
dish. Very few families have personal computers and far fewer can
afford to connect to the internet via mobile phone, which is the
cheapest option available. In short, there is very little exposure
to computers here. It is not unusual to find kids who struggle with
using a mouse. But there are also some kids who like to spend their
time at the internet cafe chatting and downloading music to their
cellphones (plenty of those here).
The lack of computers and internet is the first challenge, though
not one I can do much about. Another is language. I speak Spanish
well enough, though I do anticipate difficulties when trying to
explain programming concepts in ways that make sense in this
culture. There is also the fact that most documentation, code, and
the language itself, are all in English. I'm aware of some books
that have been translated, but I'm mainly concerned with how
frustrating it will be for the students to debug their programs when
all of the error messages are in English.
Another major challenge is the educational system, and indeed, the
educational culture here. It's a bit complicated, so I will just say
that only about 8% of kids make it through high school and most of
those will graduate without ever seeing algebra. The worst of it is
that it's hard to find people who actually want to learn, or even
think. When I showed the computer teacher here Guido van Robot she
said, "doesn't all that thinking make your head hurt?" This is
reflected in the lack of self-confidence a lot of the kids have that
they're smart enough to learn difficult things. It's very
frustrating, but it makes me think that a programming course would
be all the more worthwhile, assuming I can get past enough of that
sort of thinking to get started.
Practicality is also very important here. Given that, and the
generally low level of education, I am interested in integrating
other subjects into the class, such as algebra, reading material,
and whatever I can include that might be more directly related to
local life. I don't intend programming to be an end, so much as the
means to an end.
I have considered, in some depth, using another method for teaching
programming, such as Alice or Guido van Robot. Perhaps in another
post I can give my reasons for deciding against those and going with
Python. I've looked at the OLPC project too, but, unfortunately, it
doesn't look like that will be making it to Honduras for a while.
My biggest concern, it must be said, is that I have no real teaching
experience - I'm a programmer. I'm sure I can muddle through until I
can get the hang of it, but given all the other challenges I have to
face, I'm not sure the kids (or the teachers) will have the patience
to stick with me until I do. So, I'd appreciate recommendations for
good teaching resources, as well.
I could say much more, but I only wanted to introduce myself.
Hopefully someone can give me some idea how far up the creek I am,
though I'd be happy to hear comments on anything that I've brought
up. I'm open to criticism as well, if anyone has any compelling
reasons for why this might not be a good idea. I know most, or all,
of these kids will never become programmers, but that's not the
point, is it?
Thanks for reading,
Miguel Turner
_______________________________________________
Edu-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/edu-sig
Winston Wolff
Stratolab - Computer Courses for Teens and Kids
(646) 827-2242 - http://stratolab.com
_______________________________________________
Edu-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/edu-sig