Ask Slashdot: How Can You Teach Programming To Schoolchildren?
Slashdot reader SPopulisQR writes:
A new school year is approaching and I wanted to ask what are appropriate programming languages for children of various ages. Specifically, 1) what coding languages should be considered, and 2) are there are any self-guided coding websites that can be used by children to learn coding using guidance and help online? Let's say the ages are 8 and 12.
I know there's lots of opinions about CS education (and about whether or not laptops increase test scores). So leave your own best thoughts in the comments. How can you teach programming to schoolchildren?
I know there's lots of opinions about CS education (and about whether or not laptops increase test scores). So leave your own best thoughts in the comments. How can you teach programming to schoolchildren?
Teach them mathematics. Programming didn't make sense to me until I took algebra, learned about functions in general and the order of operations in particular. Not that you need mathematics to learn programming, but it does help in figuring out what is supposed to be done in what order.
Have you even been around grade school age kids recently?
I don't understand this feeling that kids of that age should not learn programming, when MANY of us here learned programing at that age. If it wasn't a problem for so many computer professionals then, why would it be now?
I think there's a way more important question than what language to use though. Its what CAN the teacher actually use?
If they have zero teachers that can teach programming in any way, probably sadly the answer should be nothing.
But hopefully the school has some resources they could bring to bear - even with limited computers you could teach programming in an after-hours context. One program that seemed to help a lot with some of my friends children was a Lego Mindstorms based competition, which combines programming and robotics - that's probably the most compelling route for younger kids because it is so hands on and visual.
Scratch seems to be widely used, I wish there was something else but it's widely used so there are a lot of resources.
If a school is getting students all iPads, the iPad Playgrounds app is a great way to get into programming and soon will be flooded with a ton of third party educational material because of allowing widespread loading of playgrounds.
But basically, I think a school should try to do something, even if it's only for a subset of kids. The earlier someone finds out they like programming the better.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I am currently reading "Mindstorms," by Seymour Papert, which is the namesake of the LEGO product for building intermediate robotics. The concepts of that product and its language—LEGO/LOGO—are inspired by Mr. Papert's work therein. Read it. Let's compare notes afterward, because I'm afraid that your questions betray your all-too-easy view of "education." To the questions:
I've spent a couple years designing programs for teaching children from 6+ how to do programming. One of the best tools by far is MIT's Scratch.
https://scratch.mit.edu/
With a little adult guidance, you can have them doing electronic story books, drawing, simple quizzes, and tons more (one student recreated pac-man). Kids learn about use of sprites, pictures, control statements very quickly. It's all drag/drop action blocks which make it easy to learn. Some kickstarter campaign had some interesting ideas of teaching programming through robotics.
https://www.kickstarter.com/pr...
https://www.kickstarter.com/pr...
I'd start with Scratch, you'll be impressed, There are books available you can use with you kids:
https://wiki.scratch.mit.edu/w...
Hope that's helpful.
"Imagination is more important than knowledge" - Einstein
*cheers loudly*
The absurd reduction of the 'They need a solid background before starting programming.' argument is that people need a solid comprehension of *everything* before doing *anything*. Which is actually, deeply, stupid.
I got my brother's kids into programming by showing them how to build game levels, and going from there.
Involve them in something they already consider fun.