Slashdot Mirror


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?

5 of 353 comments (clear)

  1. One bit at a time... by __aaclcg7560 · · Score: 4, Interesting

    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.

  2. Do by SuperKendall · · Score: 4, Interesting

    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
  3. Re:LOGO writer? by chota · · Score: 1, Interesting

    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:

    1. "What coding languages should be considered?" All language; specifically (unto each child), the language that child uses—primarily—in communicating outside of that person's self. Around these parts, that's most usually English or American Sign Language (or, perhaps, Signed English). Start out with epistemology: be up-front and honest (if you are willing to do this) that the class is going to be primarily a safe place to—as an undercurrent to the purpose of attendance—think about thinking ("metacognition.") Speaking of that "purpose of attendance": it sounds as if you want to simply check off some tacky ticky boxes on a form to "certify" that the children have "done the work." To each one, ensure that person has a reason for being there, because you owe each a personalized curriculum. If they are required to be there (compulsory attendance), it's spoiled and can't be considered true "learning" (which is *always,* I contend, autodidactic).
    2. I recommend LOGO, particularly because it has a "body-syntonic" application. This ensures you (and others who use it) may surmount the "nerds vs. jocks" stereotyping that could happen, often portrayed in popular media in the LOGO age.
    3. If you must indoctrinate "the class" to a particular language, use LOGO. Use the "get up and walk around and figure out how *you* think about walking a circle, then write it down" type of lesson plan, the subroutine instructions that build up into a palette of useful examples of geometry, and the opportunities for functionalization. It's also a good foundation, I've decided, for having folks think in a slightly less-absurd way about points, lines, curves, and positions, because the Turtle (cursor/caret) has *direction,* as well as position, and is therefore more vector-y (i.e., real-world applicable) than simple point-based systems-"frozen"-in-time.
    4. "Are there are any self-guided coding websites that can be used by children to learn coding using guidance and help online?" With this, you make it known that you're not really willing to develop. Read a book. Or do you want a "teach children to use a self-guided coding website" website to help you? I don't ask it to be rude, but to help you gain an enthusiasm for the position of being entrusted with young learners. If going down that road, instead of having each come up with (a) what learning is, (b) where learning comes from, and (c) when to learn (i.e., a reason for learning) as the first day activities, just know that the children (as a whole and each, individually) aren't stupid (don't label them such, even in your thoughts), and any misconceptions they garner from substandard, non-individually-catered learning materials will be on your head.
  4. Start from "Scratch" by evolutionary · · Score: 4, Interesting

    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
  5. Re:They still need to learn math and logic... by Anonymous Coward · · Score: 2, Interesting

    *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.