minimum age to learn python (a.k.a graphical vs text languages)
Hello, I was wondering what the approximate minimum age to learn python is. Has anyone had experience teaching middle school students, or elementary school students Python? What brought this up for me is thinking about starting a Lego robots group in a local middle school. I only teach college, and have little experience with middle school students, so I find it hard to guess what they could actually do. I started programming when I was about 5th grade, on a Commodore VIC 20 (3.5k RAM!) in basic, but I don't think I am typical. (Of course, now, you can probably infer my age to within 2 years! :) ). I've written something so that students can program in Python syntax to run the Lego Mindstorms robots. The most commonly used language for these robotos, in the middle school, is Robolab which is entirely graphical. Although a good program, I find there are some drawbacks: 1) Robolab is commercial, and not all schools can afford this above and beyond the price of the lego mindstorms 2) Robolab only runs on Mac/Windows, and not Linux, so those schools that have tried to save money on the operating system get whacked there too 3) Robolab can *only* do Lego robots. Although you learn the basic language structures (loops, branching, etc...), because it is graphical, Robolab doesn't translate directly. Perhaps this is enough for kids to start, but perhaps one can do better. On the other hand, my pynqc tool (which uses the freely available nqc language for the Lego Mindstorms) is: 1) free (in both senses) 2) runs on Mac/Linux/Windows 3) because you use python syntax, it is easier to go and do other python projects not involving robots In my mind, this opens up more doors, but it is not graphical. I wanted to hear responses from people who have experience teaching programming in elementary/middle (or even high) school. Do graphical languages make a big difference? Do text-based languages put up barriers to young learners? Is it no big deal either way? thanks, Brian Blais -- ----------------- bblais@bryant.edu http://web.bryant.edu/~bblais
<< questions about others' experience >>
Is it no big deal either way?
thanks,
Brian Blais
Hi Brian -- Lego Mindstorms is popular in my neck of the woods (Silicon Forest -- Oregon), starting in middle school. I helped coach a team a few years ago. There's a tournament aspect, with the teams coming together around challenges. I frankly don't know if nqc is a permitted option -- it might be. On the Python side, I volunteered one day a week for about 8 weeks (then for a 2nd 8 weeks, with another group), teaching Python in a Portland public school to 8th graders. I didn't feel they were floundering or having any real trouble keeping up. I wasn't focusing on robotics or controlling an avatar or anything i.e. this experience was not designed to feed the Mindstorms teams. Given the Mindstorms groups tend to be after school, staffed by volunteer parents, the students attracted to them tend to be self selected on the basis of prior experience, self confidance around programming or whatever. My daughter has a kit since Christmas (she's in 7th grade) but hasn't joined a team because she's protective of her time, wants to play and do homework. Plus it's really only the Sony Aibo she cares about and I've never been able to afford one (her dad is not a money god unfortunately). I haven't pushed hard to teach her Python either, though I'm hoping she'll guinea pig (or hedge hog) some of my curriculum materials down the road (we were discussing that yesterday -- she could start by watching a few of my screencasts about Python, high rez versions). I think a typical scenario might be to join a team or form one, using the usual equipment, including Robolab, and then finding, within that group, a couple interested students who might be wanting to try a Linux/Python option. If you have other parents, they'd be candidate learners. If you attract some high schoolers, them too. I think middle school is sort of on the edge of where you'd start, and it's important to have a dynamic where the kids step forward at that level, don't feel pressured. Some type quite well (given all the instant messaging), others not, and lack of typing skills *is* a barrier to entry. Depending on the size of your original pool, you may well catalyze a few promising careers. The public school I mentioned is currently moving to a Scratch -> Alice track, still with the Mindstorms robotics option on the side, as an after school activity. I just talked to the computer teacher yesterday and he was reporting some rumor that future versions of Alice will center around the same Sims as in Sims, which my daughter plays with *a lot* (we also bought Civ City Rome yesterday, coincidentally, and she built Rome in a day). Arthur, a long time member of this list, had many strong reservations about Alice, which tended to become moot after Alice stopped being written in Python. I think he would have preferred like my Saturday Academy class, where I also teach Python, but using a very bare bones mathematical approach, no thick layer of someone else's design (just IDLE + VPython mostly these days, plus I admit to pre writing some py files -- we don't reinvent all of mathematics, me neither). I get a few middle schoolers in these classes, but only a couple, and usually already about two standard deviations in the college level direction. Kirby
kirby urner wrote:
I just talked to the computer teacher yesterday and he was reporting some rumor that future versions of Alice will center around the same Sims as in Sims, which my daughter plays with *a lot* (we also bought Civ City Rome yesterday, coincidentally, and she built Rome in a day).
More than rumor apparently: http://www.cmu.edu/cmnews/extra/060310_alice.html Cheers, - Andreas
On 3/10/07, Andreas Raab <andreas.raab@gmx.de> wrote:
kirby urner wrote:
I just talked to the computer teacher yesterday and he was reporting some rumor that future versions of Alice will center around the same Sims as in Sims, which my daughter plays with *a lot* (we also bought Civ City Rome yesterday, coincidentally, and she built Rome in a day).
More than rumor apparently:
http://www.cmu.edu/cmnews/extra/060310_alice.html
Cheers, - Andreas
Hey thanks! Fowarding to my daughter FYI. Kirby
I used to judge science fairs in the DC area. There were junior and senior divisions, and the junior division age range was from 6th to 9th grades. At the time I got the occasional project written in Basic, many of which were very interesting. I would think that Python would easily outclass Basic! It would depend entirely upon the individual student. HTH Brian Blais wrote:
Hello,
I was wondering what the approximate minimum age to learn python is. Has anyone had experience teaching middle school students, or elementary school students Python? What brought this up for me is thinking about starting a Lego robots group in a local middle school. I only teach college, and have little experience with middle school students, so I find it hard to guess what they could actually do. I started programming when I was about 5th grade, on a Commodore VIC 20 (3.5k RAM!) in basic, but I don't think I am typical. (Of course, now, you can probably infer my age to within 2 years! :) ).
I've written something so that students can program in Python syntax to run the Lego Mindstorms robots. The most commonly used language for these robotos, in the middle school, is Robolab which is entirely graphical. Although a good program, I find there are some drawbacks: 1) Robolab is commercial, and not all schools can afford this above and beyond the price of the lego mindstorms 2) Robolab only runs on Mac/Windows, and not Linux, so those schools that have tried to save money on the operating system get whacked there too 3) Robolab can *only* do Lego robots.
Although you learn the basic language structures (loops, branching, etc...), because it is graphical, Robolab doesn't translate directly. Perhaps this is enough for kids to start, but perhaps one can do better.
On the other hand, my pynqc tool (which uses the freely available nqc language for the Lego Mindstorms) is: 1) free (in both senses) 2) runs on Mac/Linux/Windows 3) because you use python syntax, it is easier to go and do other python projects not involving robots
In my mind, this opens up more doors, but it is not graphical.
I wanted to hear responses from people who have experience teaching programming in elementary/middle (or even high) school. Do graphical languages make a big difference? Do text-based languages put up barriers to young learners? Is it no big deal either way?
thanks,
Brian Blais
participants (4)
-
Andreas Raab -
Brian Blais -
kirby urner -
Peter Chase