Slashdot Mirror


Ask Slashdot: How Do I Engage 5th-8th Graders In Computing?

An anonymous reader writes: I volunteer at a inner-city community after school program focused K-8th grade. Right now, due to the volunteer demographic, we spend most of our activity time in arts and crafts and homework. The 5th-8th students are getting restless with those activities. I've been asked to spice it up with some electrical wizardry. What I'd like to do is introduce the students to basic jobs skills through computers. My thoughts are that I could conduct some simple hands-on experiments with circuits, and maybe some bread boards. Ultimately, we're going to take apart a computer and put it back together. How successful this project is will dictate whether or not we will go into programming. However, whatever we do, I want the kids to obtain marketable skills. Anyone know of a curriculum I can follow? What experiences have you had with various educational computing projects?

175 comments

  1. Simple: by Tablizer · · Score: 2

    "Look how you can get a spreadsheet to do your boring repetitious homework for you."

    1. Re:Simple: by zugmeister · · Score: 1

      As someone who used to use his pocket computer for that, let me assure you they'll completely forget what they learned this week by the same time next week due to a lack of repetition. The idea is good though. Maybe they could work out a way to automate their homework and turn that in for extra credit / dual credit between their math and computers class?

    2. Re:Simple: by jakimfett · · Score: 4, Interesting

      Or better yet, use Minecraft to teach them the basics of logic and programming.

      A modpack with ComputerCraft, RedLogic, and possibly a couple of "just for fun" mods like Thermal Expansion or RailCraft would be a solid starting point...if you want to put together something more complex, contact me on IRC (esper.net, #minechem channel) or via Twitter and I'd be more than happy to help you out.

      Disclosure: I develop the Minechem mod, and help maintain a couple of different modpacks.

      --
      Bits of code, random ramblings: jakimfett.com
    3. Re:Simple: by Austerity+Empowers · · Score: 1

      By 8th grade only the kids in the advanced classes won't know how to do that...

    4. Re:Simple: by Anonymous Coward · · Score: 0

      There is nothing wrong with that. School doesn't teach anything that life doesn't teach better.

      Most of the stuff I "learned" in school were things I have never needed in the real world and the more worthless information you stuff into your head leaves less room for the stuff that is actually important.

    5. Re:Simple: by relisher · · Score: 1

      Or better yet, use Minecraft to teach them the basics of logic and programming.

      Mod parent up - I've used computercraft to teach elementary school kids, and many of them loved it. It is a great way to teach kids how to use Lua, and by the end of the summer they were doing logic statements, bubble sorts, etc.

    6. Re: Simple: by Anonymous Coward · · Score: 0

      The raspberry pi would probably be a great place to start http://www.raspberrypi.org
      It will run most if the Linux applications that you'd want, including scratch and mine craft as well as offering an easy way to interact with electronics. There's a large community too with lots of new projects and adding being created. For example this https://www.kickstarter.com/projects/pimoroni/flotilla-for-raspberry-pi-making-for-everyone

      The foundation are also creating new education material for schools and clubs. http://www.raspberrypi.org/resources/

    7. Re:Simple: by qpqp · · Score: 1

      Most of the stuff I "learned" in school were things I have never needed in the real world and the more worthless information you stuff into your head leaves less room for the stuff that is actually important.

      Oh, how fun it was to be 16 and totally ignorant.

    8. Re:Simple: by Anonymous Coward · · Score: 0

      Oh dear, you couldn't teach them a better algorithm than the bubble sort?

  2. Marketable? by Anonymous Coward · · Score: 5, Insightful

    Why do the skills have to be marketable? They're middle schoolers, they should be learning the fundamentals or just having fun. Once they're interested in the subject, they can learn how to make money with it later.

    1. Re:Marketable? by Tablizer · · Score: 2

      Toddlers must be profitable!

    2. Re:Marketable? by Anonymous Coward · · Score: 1

      Your comment is akin to my first impulse so mine is best suited as a reply to yours. Marketable skills are not a simple line item - they are an accumulation of fundamental skills, and experience, both successes and mistakes. Start with the basics, keep it fun and build, build, build.

    3. Re:Marketable? by Anonymous Coward · · Score: 0

      Forget that, it falls apart at the logistical level. I mean, it depends on your definition of "marketable", but you're not going to snowflake worth a shit in ten hours.

      Today's market has standards just to reach Disposable tier; tomorrow's will have more.

      So kind of like OP said: Your goal is to make the field marketable to the kid. And since direct control of a kid's heartfelt, lifelong ambition is impossible, settle for being an inspiration.

    4. Re:Marketable? by ArmoredDragon · · Score: 3, Interesting

      Fun is exactly what it has to be, or at least something that could be perceived as "cool." If it's not, the 5-8th grade group (especially inner city types) will mostly ignore it.

      I'd consider focusing on the circuitry you can build in Minecraft. You could easily teach the fundamentals of electronics using its redstone mechanics. It can go from a simple circuit for a light switch to something as complex as this:

      https://www.youtube.com/watch?...

      The way I see it, you gain the following advantages:
      - The potential things that can be built aren't limited by your materials budget. Real materials might get you a fancy strobe light, a speaker that beeps, or maybe a radio transmitter that transmits beeps...nothing terribly exciting to that age group. Minecraft can do much more.
      - You don't need to worry about buying new materials once a given class uses up a set of them.
      - The skills directly translate into real world electronics.
      - It's a video game, which usually appeals to younger kids.

    5. Re:Marketable? by Anonymous Coward · · Score: 0

      So kind of like OP said: Your goal is to make the field marketable to the kid.

      That's not what OP said. They want the kids to obtain marketable skills. And "marketable skills" are boring, while learning the fundamentals and instilling a lifelong passion for computing into young children is easier and more effective.

    6. Re:Marketable? by tlhIngan · · Score: 2

      I think perhaps the first "marketable" skill would be just how to use a computer.

      Forget all the programming stuff - that's cool and all, but do these kids know how to use a computer to begin with?

      Explain away the magic. Teach them how to use a word processor, spreadsheet and presentation program. Doesn't have to be LibreOffice or Word or whatever - any generic word processor and spreadsheet will do.

      The goal is to give them skills useful for life - perhaps they have a report they need to write - show them how after all their research is done, to type it up, and print it out and how neat and tidy it comes out.

      That's a skill they'll need just to move on - and they can immediately benefit by producing homework that they're proud to turn in that looks all neat and professional.

      Once they've mastered that skill, then you'll have figured out who in the group is technically minded and wants to do stuff, who needs reinforcement of the basics, and who still is too afraid of the computer. You can then show the technical group stuff about programming, fixing and mucking around the computer. Those who are struggling with the basics you can reinforce and help out with their homework assignments, and those afraid of the computer? Well, show them how to not be afraid. If they're afraid of breaking it, bring in a junker that works and show them that it's really quite hard to break a computer without taking a sledgehammer to it.

      Before you even consider jumping into the technical side, see if your group has basic skills everyone will assume they have - typing, how to use a word processor, using the Internet, etc. Only then should you move on.

    7. Re:Marketable? by Anonymous Coward · · Score: 0

      Why do the skills have to be marketable?
      Maybe the person asking is living in India (not intended as Funny, more like Sad, or WTF is this world coming to?)

    8. Re:Marketable? by bmo · · Score: 3, Insightful

      This.

      They are so far away from the professional world that anything they learn that is specific to any kind of software or technology will be completely obsolete once they've left school.

      They should be doing something fun. The best thing that can be done is to point kids in directions that make them want to do it on their own - self-directed study and show them resources where they can find out how to do things. And let them form groups to create projects and don't limit them to just glowing phosphors on a screen. Lego Mindstorms (and its descendants) comes to mind.

      They need to learn that computers are tools for creation and creativity.

      Absolutely do /not/ take out all the fun by teaching only fundamentals or just teaching them how to use Word and Excel, aka "marketable skills."

      --
      BMO

    9. Re:Marketable? by unixisc · · Score: 1

      Why do the skills have to be marketable? They're middle schoolers, they should be learning the fundamentals or just having fun. Once they're interested in the subject, they can learn how to make money with it later.

      I quite disagree. The last thing we want them to do is grow up, choose a field where there are hardly any jobs, and then find a lot of interesting fields, like IT jobs, completely closed to them b'cos they chose to major in Advanced Gender studies. Instead, get them interested in computers in this age - chances are they're already hooked to their iPads or iPhones, and then motivate them to learn how to build things on them, gradually drilling in. So that by the time they graduate, they'd pick something like a Computer Science or a Computer Engineering major.

    10. Re:Marketable? by Anonymous Coward · · Score: 0

      Oh, in India, parents will in any case encourage kids to be either doctors or engineers, and nothing else. Yeah, there is a section of the population for whom, their only dreams for their daughters is getting them married - to suitable doctors or engineers. Or tycoons.

    11. Re:Marketable? by Anonymous Coward · · Score: 0

      Child actor is the way to go.

    12. Re:Marketable? by Eddy_D · · Score: 1
      I would amend this to also consider these Minecraft mods;

      1) ComputerCraft. Programming turtles in Lua and watching them go can be entertaining..
      2) Pneumaticraft. Little arial drones (quadcopters) can be programmed using a very simple modular/graphical programming scheme.

      More advanced;
      3) Steve's Factory. The programming is more logical and less wordy, but the mod has a steeper learing curve.. and is a bit more boring as nothing moves around...

      --
      - I stole your sig.
    13. Re:Marketable? by KnightStalker · · Score: 1

      I know what "inner city" means in the U.S. and, I guess, maybe London and Paris, but what does it mean in India?

      --
      * And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."
    14. Re:Marketable? by Sivaraj · · Score: 1

      I also had the same reaction upon reading it. Why would middle school children need to learn marketable skills?

      But I think the keyword here is "inner city". Typical inner city children in US come from economically weaker sections of the society, and they may tend to drop before or during high school. It may be benefit them to have a skill that can earn their bread. If it helps them to earn some part-time income and can keep them in school until graduation, then nothing like it.

      To answer OP's question, web design & development might be an ideal choice. It would just take some HTML/CSS skills with a bit of Javascript thown in, that can be picked up by early teens easily. Artistic kids can learn graphic design tools like Gimp/Inkscape/Photoshop/Illustrator which are very useful in web design. They can practice with their personal website, activities related sites for school and events. Plenty of online resources for learning. They may be able to get freelance work around their neighborhood. As they improve their skills and gain experience, they can either join an existing web development company or even band together and start their own with minimal investment.

    15. Re:Marketable? by Sivaraj · · Score: 1

      I know what "inner city" means in the U.S. and, I guess, maybe London and Paris, but what does it mean in India?

      Inner city doesn't actually mean much in India. Unlike US, mass exodus of middle class families to suburbs hasn't happened yet here. It is probably in the process happening though, and the situation might look different in another couple of decades.

      Anyway, I am sure OP was talking about US or Canada, who primarily use K-12 terminology.

    16. Re:Marketable? by Anonymous Coward · · Score: 0

      Indeed. it may be devil's advocate talk around here, but first of all: why would anyone need to be a programmer? There are so many different things people can become. Are programmers happier?

      And secondly, adding to the good point the parent made: isn't it weird that, on the one hand there is a lot of complaining about "the system" on /., and on the other hand we would like our kids to fit in "the system" perfectly, developing marketable skills from an early age on. Sounds a bit like fearmongery to me: already afraid your kids won't find a job later, so push them in the only direction you know. (with all due respect, this is exaggerated somewhat, of course).

    17. Re:Marketable? by jandersen · · Score: 1

      Indeed. Looking back to when I was that age, what I'd really have loved to learn, was something that was not just theoretical and sedentary, but had an immediate, tangible effect; it could have been anything, like growing things, making things from natural sources or whatever. It could have been flint-knapping and basic survival skills, like how to make fire, how to extract useful fibres and build a shelter or a boat - there is no end to the fun and useful things one could do; or now-a-days it could be guerrilla gardening or playing with robots or whatever. None of these are, of course, marketable as such, but they teach you a very valuable confidence in your own abilities, which is infinitely better than learning to program.

    18. Re:Marketable? by Anonymous Coward · · Score: 0

      If it is a significant possibility that the students will not finish high school and middle school is the only education they will get.

    19. Re:Marketable? by gwolf · · Score: 1

      YES. YES, completely with you.

      Language and literature are not directly marketable. Highschool-level algebra is not directly marketable. Biology, physics and chemistry are not directly marketable. Same goes for geography, phylosophy, history, and basically every other subject we learnt at high school.

      Still, it would be absolutely foolish to get rid of all that.

      We don't send kids to school to make them marketable — We send them to get a general culture, to get a baseline of education in all major areas of knowledge. And, of course, I will argue over and over that nowadays the basic workings of a computer are as central to understanding our world as algebra.

      So, yes, forget about marketability. Think about getting enoug foundations to understand the world and society they will have to develop in.

  3. Depends on the age. by DoofusOfDeath · · Score: 5, Funny

    5th grade : Minecraft
    6th grade : Minecraft
    7th grade: porn
    8th grade: porn

    1. Re:Depends on the age. by Anonymous Coward · · Score: 0

      what happed to fun with dos or appleII and later trying to bypass the system lockdowns?

    2. Re:Depends on the age. by Serenissima · · Score: 1

      Seriously though. You want kids to be interested in circuits? Teach them about logical circuits, then get into Minecraft's creative mode and use Redstone to have them build their own circuits. Show them videos of the crazy, elaborate calculators people build. Have them take that practice, and show them how it applies to real-life. If you can make that connection, you open up the possibility for them to engage in some self-learning when they get home. That's how you'll get them interested.

      --
      Give a man a fire and he'll be warm for a day. But light a man on fire and he'll be warm for the rest of his life.
    3. Re:Depends on the age. by Anonymous Coward · · Score: 0

      ... 8th grade: porn

      Leaving aside the question of how many 13 year-old associate their frustrated feelings with fucking, there's the question of, how is this educational? I think porn would teach children that women should be pretty, undressed, easily aroused, multi-orgasmic and multi-amorous (the correct term).

      Unfortunately, the rules on female sexuality are quite different. I imagine school-girls are called sluts for different reasons today but when I was in school, a girl who realized she liked fucking was labelled a slut and a girl who said she didn't was labelled as frigid. Maybe, the lesson today, as it was in my time, is the continuing double-standard towards single women.

    4. Re:Depends on the age. by Anonymous Coward · · Score: 0

      Make them figure out how to break your security so they can do all of the above.

    5. Re:Depends on the age. by Anonymous Coward · · Score: 0

      1st-3rd graders: Minecraft
      4th-8th graders: leave them alone; they're already too busy doing "biology homework"

    6. Re:Depends on the age. by fermion · · Score: 1
      There is truth to this. There is a great deal of difference between a 10 year old and a 13 year old, and way more differences within children of the same age than if you were to be dealing with late teens.

      This age group is going to be deep into concrete thinking. They are going to spend most of their time challenging rules rather than working with them to develop a functional product. They want to see how rules can be broken and if the framework is still functional with broken rules. They are looking for a minimum set of constraints that will lead to maximizing the freedoms they are looking for, without additional responsibilities.

      These are all useful things if channeled properly.

      For instance, while I don't see robots as useful for higher grade levels, I think they are useful for the 10-14 year old. Robots can provide instant feedback that forces kids to follow rules, and allows the give and take that lets kids discover principles, like how to make a right turn. Robots can also easily be tailored for individual abilities.

      What is missing in many courses is that kids learn differently for older teens and adults. The assumptions they make are different, and they are more likely to spend time 'gaming the system' to look for vagaries.

      What kids don't have is the abstract ability to understand how something as abstract as a physical computer interface works. Even though it looks like a concrete representation, it is not. Just try to teach a kid to work a breadboard. Yes, you can teach them rote but are they going to understand what is really happening. My experience is not until they are in high school.

      So teach cause and effect. If they are old enough teach them how to solder. Get simple robots and let them play. For older students, get Inventor and 3D printer. If a kid seems to want to program, let them make a tic tac toe web page.

      What will happen is that some kids will try spend more time on the internet looking at porn than learning. That is the testing of rules thing.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    7. Re:Depends on the age. by BlackHawk-666 · · Score: 1

      No kid of that age ever wants to code tic-tac-toe. No-one even wants to play it, let alone waste hours writing it.

      --
      All those moments will be lost in time, like tears in rain.
    8. Re:Depends on the age. by Anonymous Coward · · Score: 0

      What have you got against 5th and 6th graders?

  4. hardware != software by Anonymous Coward · · Score: 4, Insightful

    Ultimately, we're going to take apart a computer and put it back together. How successful this project is will dictate whether or not we will go into programming.

    Taking apart a computer and putting it back together means nothing in relation to programming.

    1. Re:hardware != software by Anonymous Coward · · Score: 0

      Word. Mod up please.

    2. Re: hardware != software by Anonymous Coward · · Score: 1

      depends how literally he meant it.

    3. Re:hardware != software by CurryCamel · · Score: 1

      Please spare me from "programmers" who have never seen the inside of a computer chassi!

  5. Googling is serious business by Anonymous Coward · · Score: 0

    Damn Google is hard to use:

    http://pages.minot.k12.nd.us/votech/voced/electronics.htm

    especially hard to scroll down and look at additional resources:

    Association for Career & Technical Education
    CompTIA.org
    Computing Degrees & Careers
    Electronic Technicians Association International
    Independent Electrical Contractors
    Minot Public Schools Career Development Program
    North Dakota State Board for Career & Technical Education
    Skills USA-VICA Career & Technical Education Website
    Society of Manufacturing Engineers

  6. Treat them like humans by Anonymous Coward · · Score: 0

    5th through 8th graders are sentient creatures. They know what they like and what they don't.
    Present the material to those who are willing to learn it. The rest are a lost cause.

  7. Marketable Skills by sexconker · · Score: 0

    I would suggest you teach them proper grammar, but I read your submission. Instead, I'll suggest that someone else teach them proper grammar.

    1. Re:Marketable Skills by Anonymous Coward · · Score: 0

      he said marketable skills ;)
      probably teach them how to say "would you like fries with that"

    2. Re:Marketable Skills by Anonymous Coward · · Score: 0

      I don't get it. Why do you think fast food won't be completely automated by the time they get there? lol.

  8. script to cheat at games by Anonymous Coward · · Score: 0

    teach them how to write code so they can cheat at computer games and then laugh at people. you can bring out their creativity as they try to come up with new and innovative ways to cheat. without realizing it, its a head fake.you are teaching them to code.

  9. Check out Touch Control System (TCS) by hyperplanemike · · Score: 2

    TCS is a 3D game engine (free for personal/educational use) built for creating interfaces to electronic projects.

    You could take some Arduino boards and wire up a 3D interface to turn LEDs on or drive motors.

    Alpha version available on the website:https://hyperplaneinteractive.com

    TCS and Arduino: Sensing Voltage tutorial

    Launching Model Rockets with TCS

  10. what size group? by Anonymous Coward · · Score: 4, Informative

    I'm a band teacher, and I've had experience teaching an electronic music class- not 100% what you're doing, but some principles will apply. If you've got a small group, you'll want each of them to have their own equipment to work with. With a bigger group, you'll probably just have to demonstrate to them.

    You'll be shocked at how incapable many of them will be. It will take 5 minutes to get them to all have their breadboard sitting right side up. If you're using a computer program, it'll be ten minutes to get the computers turned on and get the right program open. I'd advise to start with something so easy, you can't even imagine how they could possibly mess it up. After the first project you should have a better idea of what else you might attempt.

    1. Re:what size group? by jsepeta · · Score: 3, Interesting

      the 8th graders will be stoked if you can teach them how to make Beats. i suggest garageband if you have macs because it's free. if not, try Reaper because it's free to try (paid license required after x days). also you'll want to load a VSTi for samples, and you can get sample content all over the web although it's far more fun to record your own sounds for making rhythms.

      --
      Remember kids, if you're not paying for the service, YOU ARE THE PRODUCT THAT IS BEING SOLD.
    2. Re:what size group? by aliquis · · Score: 1

      the 8th graders will be stoked if you can teach them how to make Beats. i suggest

      .. the SID chip ..

      http://youtu.be/UjCochw2P00?t=...

    3. Re:what size group? by i.r.id10t · · Score: 3, Informative

      Indeed. I taught a "this is what programming looks like, this is what these simple loops and logic statements do, this is a large library of functions that let you do relatively complex things very easily", etc. course for a 2 week summer camp last year with kids that were 10-14. Just getting their attention to start takes a few minutes, then showing something, explaining it real quick, then asking for ideas on what else it could do worked, but for every even slightly related question there were 3-4 that had absolutely nothing to do with anything going on at all.

      At then end, I did manage to get about half of them actually writing simple PHP to do stuff (they already had a HTML class), the other half ended up playing Tanki Online.

      --
      Don't blame me, I voted for Kodos
  11. Visualization by blueshift_1 · · Score: 3, Informative
    You definitely want to jump into visually doing stuff as quick as possible. That age group wants to see things happen. "hello world" is nice, but not super exciting. Naturally, minecraft has been mentioned. So maybe doing command blocks or things like that (Maybe even some java to make a plugin or mod - but that is probably a bit advanced for an into).

    I've use EJS (Easy Java Simulations) before to make quick visualizations. It's a bit more science/physics based but might be pretty neat. Like showing a rocket go the moon (and physically accurate!) http://fem.um.es/Ejs/

    Another tool is vPython. It's nice because it is in python and can be neat - again, I mostly used it for physics stuff, like simulating planetary orbits, but being python, you can show these things in just a handful lines of code. It'd be a great way to crossfunctionally do science and computing. http://vpython.org/

    1. Re:Visualization by blueshift_1 · · Score: 1

      Just to add some additional thoughts: It's great if you already have some code written. Let them modify it and see what happens. Like for example with the planetary simulation. It starts off with earth in standard orbit with a trace on it's path. Then you can use a slider (or even hard code and recompile) to adjust the mass of the earth/sun and watch it change. Or make an asteroid hit the earth at an angle and see - adjust the mass/velocity/dirction and watch it change. And with the path trace you can make cool patterns. This helps keep them from having to deal with having to understand a lot of the boring stuff that if they really enjoy it, they can learn later - while still keeping the interest of those who just want to make pretty things.

    2. Re:Visualization by s1d3track3D · · Score: 1

      Good advice.
      I'd add Scratch to this list (http://scratch.mit.edu/).
      I'm not sure if they can all get a working laptop? maybe team up with a local linux group to provide old low cost or refurbished laptops running linux? install scratch (free) challenge them to build something that interests them
      The key is capitalizing/capturing their interest. good luck.

    3. Re:Visualization by LessThanObvious · · Score: 3, Informative

      There's a book called Python for Kids that I got for my bartender's son. The exercises outlined, like taking a PC apart and putting it together, understanding the parts, what an OS is and what and application is sounds like a good start. Basic web design never hurts. HTML is easy to teach to young people and putting something of their own creation on the web, seems to click with kids. Spending a small amount of time on word processing and Excel isn't bad and for the most part that is what employers mean by basic computer skills. If you can get a hold of a college level "Introduction to PC computing" sort of text book, some good accessible foundation learning can be drawn from that.

    4. Re:Visualization by Anonymous Coward · · Score: 0

      I was thinking visual stimulation is a requirement also. Since the OP mentioned electronics (and I'm interested in home automation) maybe something with reed switches to monitor doors and windows, and an audible and flashing-lights alarm. This will help bridge the gap between "electronic gadget" and "real world."
      You can get a 2-channel relay board on Ebay for a couple of bucks that can be easily driven by a Raspberry Pi (which will also run Minecraft and other games, which should also help keep some students interested. Games are good for building interest!) Also if you want to venture into robotics, another very visual medium, the Pi can drive an H-bridge board which can control a pair of motors. This sounds like a much more advanced class than you're looking for.
      The Pi model A+ is only $20, but will need an HDMI TV/monitor or a special 4-ring audio cable to connect to a TV's RCA jack. Use the $35 model B+ if you need Ethernet or more than one USB jack. Alternately an Arduino might be a good pick for an electronics project of this sort, but won't have the extra features like network, USB, and a full OS, so the students may not think of it as computing, especially if you're pre-loading the sketches, which you'd probably have to.
      If you're interested in some basic programming, you might try Scratch for something very simple but reasonably powerful. Again, this is available on the Pi.

    5. Re:Visualization by alvinrod · · Score: 1

      I definitely agree with this. You can even give them some scaffolding and have them make something simple like pong, which you can use to demonstrate the concept of objects by adding multiple balls to the screen at once or making the paddles change size. You can even discuss some simple algorithms like determining how the ball should bounce or how to determine if a player missed the ball.

      If you can get someone interested in coding and give them some to demonstrate some core concepts that have easy solutions you'll likely find that many start seeking out additional knowledge to build on what they already have in order to add stuff to a simple game. When I was young and first started learning to code, typing in some simple programs to make basic games is what got me interested enough to learn more in order to modify them or make my own changes to the games.

      You could also ask the class about what kinds of problems that they would want to use a computer/smartphone to solve. Invariably someone will suggest something simple enough to make a quick app. There are some people who aren't terribly interested in computers or programming for its own sake, but if you show them how it can be used to solve real problems that they face, it might get them to take more of an interest.

    6. Re:Visualization by Anonymous Coward · · Score: 2, Funny

      The day I know my bartender well enough to buy gifts for their kids is the day I check into rehab.

    7. Re:Visualization by Anonymous Coward · · Score: 0

      So... let them play Kerbal Space Program?

      Sounds like a good idea. Especially if there's one or two that get beyond the excitement of blowing things up on the launchpad.

    8. Re:Visualization by Anonymous Coward · · Score: 0

      Teach them 'virtual robots' with computercraft (a Minecraft mod) and LUA.

      You will be amazed how in a world where everything is made harder but they have 'turtles' that can move around following programs, that they will pick up using them.

      All the more so if they are required to write their own code for performing various tasks, such as mining. You should give bonus points for additional criteria.

    9. Re:Visualization by stevebyan · · Score: 1

      You want Bootstrap, which is billed as "algebraic video game programming".

      "Unlike Python, Scratch or Javascript, functions and variables behave exactly the same way in Bootstrap that they do in your child's math book."

      http://www.bootstrapworld.org/

      Workshops: http://www.bootstrapworld.org/

      It also provides a good foundation for further CS education: http://www.programbydesign.org...

  12. try money by Anonymous Coward · · Score: 0

    If they're inner-city kids show them how much money they can make programming computers when they get older. You can help them visualize this with rolls for play money.

    But also let them know that they have to stay out of trouble, and work hard to get there.

  13. Job skills??? by DM9290 · · Score: 1

    why don't you teach them how to do something fun like write a script that will make the computer play a tune of their own composition, or draw a picture.

    neither of these are job skills... but it will open their imaginations to the concept of computer programming and representing sounds or geometric co-ordinates in numbers (which is the language of computers).

    --
    No one has a right to their *own* opinion. They have a right to the TRUTH.
  14. Advise by burni2 · · Score: 3, Insightful

    1.) don't be an asian helicopter mother
    - you are not their parents

    - best way to engage most children is when they have fun taking things step by step, with fun and encouragement

    - some kids want a challenge, those are eager, give them a challenge they can handle, be present, wait for the question, don't explain things they want to tackle themselves

    2.)
    show them how they can let their computer + learned skills work for them
    - understand what they are doing in school (don't introduce partial differential equations to a 5th grader except they ask you to do so)
    - explain their current topic on math with the help of excel (no VBA)

    -sine, cosine tables, sine charts etc..

    3.)
    The computer is a tool, make it a place to toy with things

    4.)
    - don't be ProfX
    - use your empathy
    - but actually the best choice would be to empower them to tackle their current tasks, a little surplus of knowledge won't hurt
    - don't present big problems, demonstrate how you can approach a - school-world-problem by breaking it down,

    These are computer/programming skills: to understand a problem, breaking it up into small understandable pieces then describing the whole problem, formulate a solution approach and testing that method.

    With the help of a useful tool called computer+software.

  15. You don't! by Anonymous Coward · · Score: 0

    I don't want these kids taking my computer job at 1/3 my salary. Teach them art instead.

    1. Re:You don't! by unixisc · · Score: 1

      Problem is that there will be no Americans left to do such jobs, and the floodgates will have to open, and after enough years, the US would be a satrap of China & India.

  16. Scratch by Anonymous Coward · · Score: 5, Informative

    I run a computer club at our local elementary school. MIT's Scratch has been an amazing resource for teaching the kids to program. It's fun, it's graphical, and it provides a platform for teaching most major CS concepts. We did tear a computer down, but we only spent one meeting on that. I think much more than that is overkill. The kids really enjoy the programming in scratch.

    1. Re:Scratch by Cramit · · Score: 1

      You can actually go from scratch to Scratch For Arduino if you want to smoothly move into hardware fun. It is easy to set up and very rewarding as it gived you lots of feedback as to what the Arduino is "thinking" and shows how software can hardware can interact.

  17. Science projects by modi123 · · Score: 1

    Potatoes that make electricity.. small electric loops.. etc.

    http://www.miniscience.com/pro...

  18. this is lunacy by jsepeta · · Score: 1

    because i really want fifth graders to be working for geek squad.

    --
    Remember kids, if you're not paying for the service, YOU ARE THE PRODUCT THAT IS BEING SOLD.
    1. Re:this is lunacy by Anonymous Coward · · Score: 0

      Except for height, I'm failing to see much difference between the two.

    2. Re:this is lunacy by TWX · · Score: 1

      They may not want to work for geek squad, but if they have a computer game that they like, showing them how to upgrade the computer to make that game playable has both a hands-on component and a benefit from the kid's perspective.

      First, based on the model(s) of computer(s) you're working with, determine if there's an upgrade path, and if that upgrade path is something that whoever provides support will find acceptable. For many models of computers sold to school districts, that means integrated video, fairly small amount of RAM, small hard disk drives (as they're using using network storage), and the like. Figure out how much RAM the computer can take, what video card options are compatible (some even supported by the OEM) and what hard disk drive upgrades will increase both speed and capacity.

      If you have multiple of these computers, have the kids play their game on the inadequate machine. Then introduce upgrading it to them. Open it up, swap the RAM. Boot it up, watch their eyes light up as the game plays better. Shut it down. Replace the hard disk drive (that you duplicated in advance!) and watch the performance improve again. Shut it down, install the video card. Same thing, watch the performance continue to grow.

      This teaches them that there's real benefits to what they want to do based on what they do in the physical world to the computer.

      --
      Do not look into laser with remaining eye.
    3. Re:this is lunacy by BarbaraHudson · · Score: 1

      Most of the kids experiences will be with tablets or smartphones - forget about upgrades. Newer laptops are the same story. Ram soldered in place, no place to mount a second hdd, and you can't change the video or audio or cpu, so teaching them that will be totally useless except to work on old junk.

      However, whatever we do, I want the kids to obtain marketable skills.

      Don't be evil.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  19. and then programming? by Anonymous Coward · · Score: 0

    I would not base how well this project goes in order to look into programming. There are some simple programming basic things they can do on the internet already. Light bot could be a huge resource for you to get them started into programming. http://lightbot.com/hocflash.html

  20. Do it all by joekern · · Score: 1

    (1) get the 5th-8th graders to fix a broken pc. pull a few parts set it out, Good will hunting style (2.) once completed. get them to teach the younger kids how. fact. you learn more when you teach others. (3.) teach the 5th-8th graders how to code. contact minecraft and skype with a developer for 5 mins and the classroom (4.) 5th-8th graders then teach the younger kids how to code hello world (while they make minecraft mods) (5.) invite parents to bring in broken PC's which the kids will repair (6.) charge parents for fixed PC's (7.) profit!

  21. Circuits for kids by Anonymous Coward · · Score: 0

    Start with an obvious circuit, where it's pretty clear that electricity is flowing around a *circuit*.

    Battery -> switch -> light bulb -> battery

    Extra credit if the switch is a knife switch where they can see the conductive pieces of metal making and breaking contact. Screw all parts down on a piece of wooden board. Be as traditional, Ben-Franklin-doing-electrical-experiments as possible. Double extra credit if you make the battery from electrolyte and electrodes. Don't use an LED, those are new-fangled semiconductors. Make *circuit* as clear as possible.

    5th-8th grade might be a little late for this project. I built one of these in a first grade class, but it's stuck with me ever since.

    Expand from there, Bring in little breadboards, resistors, LEDs, transistors, etc once they understand circuit, voltage, amps, and how to use a voltmeter to figure out where the electricity is flowing. And ultimately throw in a microcontroller (AVR/Arduino/etc) that they can start programming.

    Transitioning from arts and crafts is another route. Something like https://www.crowdsupply.com/chibitronics/circuit-stickers might keep the arts instructors on board.

  22. Look at lightup.io by jddj · · Score: 1

    Circuits that stick together with magnets, interesting sensors, Arduino-compatible controller, web-browser-integrated programing environment, sample projects and code sharing.

    The hello world starts with blinking the lights on the controller board. Get the bigger kit (the "Tesla", I think).

  23. Python and PyGame by Anonymous Coward · · Score: 0

    ...will probably be immediately useful. You can start moving animated sprites around on the screen almost immediately and have them making rudimentary games. And there are tons of good videos on PyGame on YouTube.

  24. "computing" or "computers" or what? by Anonymous Coward · · Score: 0

    Arduinos are easy to work with and cheap.
    Blinky lights, motors,speakers, cheap RC servos.

    Assuming you're not going to be teaching computer science and LR(1) grammars, determining NP complete, etc.

    Don't teach theory. Hands on. Think shop class. Make something new that gets finished each session (no "let's teach them project planning skills, and how to plan and execute".. they'll get that in school with various and sundry term papers).

    Most of these kids do not know how to wire a battery, pushbutton and a lightbulb together. (I have PhD EE majors at work who don't know how to do this in a practical sense.. never held a soldering iron or wire cutter in their life) Expect to spend significant time on this kind of thing.

    Arduino doing color mixing with a tricolor LED
    Arduinos making beeps and boops on a small speaker (not headphones.. you want something that disrupts your neighbor)

    If you want fancier, simple applications that do things like time and/or sequence stuff. A Laser pointer or flashlight or webcam mounted on two RC servos as a pan/tilt mount can be a lot of fun.

    Time lapse photography

  25. How about you dont! by Anonymous Coward · · Score: 0

    Enough with the fucking computers already, sheesh. Kids did fine in the previous decades without using computers and they can do it again. It's been overplayed. We are wasting our lives 24/7 on these damn fuck mind machines. We traded manufacturing jobs for office shit computer land. When people finally get sick and tired of their lives being controlled by technology the computer bubble will burst.

    It was better in the 80's and 90's when there were few computer tech's out there.

    1. Re:How about you dont! by BarbaraHudson · · Score: 1
      Even the poster's ideas of what to do are obsolete.

      Ultimately, we're going to take apart a computer and put it back together.

      A "computer" today doesn't mean a desktop. Good luck taking an iPad apart and putting it together. Or a smartphone. Or a laptop. In a cost-saving move, ram is now soldered in place. And you can't change the cpu, the video card, the sound card, and eve changing the keyboard is a real b*tch.

      Better to spend more time teaching the basics of reading, writing, and math. And get them outside once in a while to play because most of them think "play" means tapping a screen or thumbing a button.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  26. Outline of some subjects to discuss by axx3andspace · · Score: 1

    Here's a syllabus I came up with: http://jsfiddle.net/clayshanno...

  27. My .02 by Anonymous Coward · · Score: 0

    I'd definitely go more for the programming vs hardware route - but that's what I'm most comfortable with. Depending on their interests there are a couple of starting programs:
    Scratch - geared towards middle schoolers, teaches Java
    Logo - Drawing with a turtle. Python has an implementation of it (import turtle), fun little graphics library, can be used to introduce more difficult topics gently
    Alice - Also Java based - more in-depth than scratch, involves creating "scenes"

  28. How? by Anne+Thwacks · · Score: 1
    Give them a mobile phone.

    Oh, Wait ...

    --
    Sent from my ASR33 using ASCII
  29. Scratch from MIT, JavaScript, Python, HTML by omibus · · Score: 4, Informative

    Don't worry about job skill, you will bore the crap out of them with that.

    Focus on exploration, discovery, and fun.

    I'd suggest you look at Scratch from MIT. NoStarch Press has a nice comic book style book on Scratch that worked for my kids.

    There are also good resources on JavaScript and Python for kids. Khan Academy has JavaScript tutorial that are pretty good as well.

    --
    Bad User. No biscuit!
    1. Re:Scratch from MIT, JavaScript, Python, HTML by Anonymous Coward · · Score: 0

      I have to second the Scratch idea. I introduced my daughter to Scratch when she was in the 3rd grade, and I couldn't get her off the computer. most of the stuff she wrote was lame (of course), but just knowing with a few pre-canned logic statements, she could make something float across the screen held her attention for quite some time.

  30. Applied learning by Anonymous Coward · · Score: 0

    Based on experience, you want hands on to show WHY programming. Model rockets with compute prediction and data collection and if you want hands-on programming put a UI on programs from usrockets.com

  31. Physical computing ... by puddles · · Score: 2

    The approach that I used, and it seemed to have worked out, for 6th grade students was to introduce them to physical computing. You need a microcontroller (Arduino, ARM, etc.) and basic sensors and output devices (LED, motor driver, LEGO interface, etc.) and you write very basic code to make things happen in the real world.

    I find that this approach is more effective than over-promising and under-delivering (e.g, "you'll soon learn to make great arcade games in this class!") because the gap between writing a few lines of codes, and seeing things happen in the real world, is quite small. Kids get that. It's much more immediate and gratifying.

    1. Re:Physical computing ... by Anonymous Coward · · Score: 0

      Mod parent up! I've been involved with FIRST Lego league and other teach-computing-to-children projects. The ones that fail focus too much on computer science and coding and less on bridging computing to real world activity. The ones that succeed are more engineering in nature, problem solving skill development and team building.

      Think of it as good sci-fi. The story and characters are key and the futuristic stuff is environment. Give the students fun, challenging activities to do in the environment of computing that will engage them. Have teams and competitions.

      Remember to assign teams, don't let them pick themselves. This is where the workplace/life-in-general angle can come in. You don't always get to pick the people you work with to get things done.

      Have them write summaries of the experience (individually) at the end of the class to get feedback on how you might make things better for the next class.

      In general, HAVE FUN and make sure the students know how much fun you're having and share that. Give them an opportunity to find out how much they are interested and watch it grow. Invite all students (not just the ones in the class), the parents/families and administrators to the competitions.

      This could go tremendously well when done correctly, or fizzle and die if it's dry, boring coding all the time with mediocre to disappointing results. I could go on. Let me know if you'd like to talk more away from this forum.

    2. Re: Physical computing ... by p43751 · · Score: 1

      Mod parent up too. It is written by AC but obviously by a person who know how to teach. I just came here to check for Lego!
      It is an awesome product an also an excellent tool to teach cooperation, creativity and creativity.

    3. Re:Physical computing ... by Anonymous Coward · · Score: 0

      This! I am almost willing to make an account to mod this up.

  32. Why focus on coding? by beer_maker · · Score: 1

    You already said they want to be hands on - why not start with the physical device and then go to the code. Disassemble a PC and explain the parts. Talk about similarities and differences between a PC and a digital watch or other embedded computing device. THEN start talking about code, and how the device and code interact. Leave the OS wars for later.

    --
    Hmmm. Your ideas are intriguing to me and I wish to subscribe to your newsletter.
  33. I've done this by cowtamer · · Score: 1

    Taking apart a computer and programming are two orthogonal skills -- someone might be great at one and terrible at the other.

    I've successfully used Basic4GL to teach basic programming, graphics, and algebra concepts to underperforming 6th graders. They really loved the exercise of drawing a spaceship first on graph paper and then on the computer using simple graphics commands. Basic4GL is great because it has built in sound, graphics, etc.

    I will suggest 3 other things

    1) Teach the Processing computer language. It's graphical, easy to start with, and mature.
    2) Teach the Arduino. Build a simple circuit or a very simple robot with two servos. Any Arduino workshop devolves pleasantly into students tinkering with stuff.
    3) Teach Python

    I'll caution against Python because the text only interaction may bore them (even though I've taught this language before).

  34. Easy. by Anonymous Coward · · Score: 0

    Give them some Apple ]['s, Commodore 64's, and a few TRS-80. Tell them that whoever's first to program them to do like... five different things, will win a prize!

    Tell them to write a web server that runs on the Apple ][, a web browser that runs on the C64, and that they have to exchange information through the Trash-80, and the first one to do it, (on their own, no outside help!) gets a FREE iPad Mini. First runner up gets... two free iPad Mini's!

    Or, better yet, take away their iPads and iPods and eBooks and uPhotos and aSsscratchers, and tell them they can have their iPad's (etc.) back when they've learned how to do something useful on the outdated hardware, since that's EXACTLY WHAT THEY WILL BE DOING THEIR ENTIRE CAREERS.

  35. It's a bit like catching a kid smoking by OrangeTide · · Score: 1

    Getting kids into computers can be as simple as locking them in a closet with a box of cigars until they finish it.

    Write some solid software tests. Hand them a laptop, compiler, book on programming and a book on test driven development. Don't let the child out until their program passes all tests.

    Best to do this with your own child rather than any child you happen to find.

    --
    “Common sense is not so common.” — Voltaire
  36. Try Robotics... Hardware & Software! by Anonymous Coward · · Score: 0

    Try the FIRST robotics leagues... .they have a leagues for Grades K-3, grades 4-8, and high school students.
    They create interesting challenges, provide good building blocks, and foster cooperation and competition. It's a great way for kids to learn (and adults to mentor): http://www.usfirst.org/roboticsprograms/fll

  37. Build, install OS, program by TechCurmudgeon · · Score: 1

    1.) If you have access to some unused but serviceable computers I would suggest you have the kids tear them apart and rebuild them to see how they work. Your school/district may have access to older computer you can use. Schools often refresh their equipment during the summer and this would be a good time to grab some gear that is going out of service. If not, see if there are any computer refurbishers in the area who can accommodate you. I volunteered recently with a non-profit group that was refurbishing computer to give away to students. 2.) Once you have some working computers have the kids learn how to install an operating system and learn how it interacts with the hardware and applications. I suggest some distro of Linux because it's free (no licensing worries for the school) and it allows kids to explore the system. It also have a number of free programming tools available so the kids could learn some basic programming. 3.) Python is powerful and easy to learn programming language and is included in most Linux distros. It is cross platform, so programs written in it run on Macs and Windows too (when Python is installed on those OSes). The good thing about Python is there is a lot of help available for it aimed specifically at kids. Kids like games and programming games is very popular in Python. If you need a real basic intro to programming concepts you can install Scratch. It is a visual tool designed to help young children learn basic programming concepts and they can do things with it almost immediately. There's a lot of documentation and help for both Python and Scratch. These are the "gateway drugs" to programming. *** All of the above skills are highly marketable and can lead to great careers even without college, although obviously that is always an option. Computers are everywhere and kids should learn how they work, just like kids used to fix cars in the old days. Also programming knowledge does not mean that one has to become a programmer. It would be very helpful in math and science careers, although maybe one of your kids could develop the next Minecraft.

  38. Just like Eric Cartman... by Anonymous Coward · · Score: 0

    You want to reach these keeeds? Show them how they can use technology to cheat on their school assignments.

  39. simple programming by Anonymous Coward · · Score: 0

    You could try having them do some simple programming...printing their names on the screen or drawing some simple graphics. Try some of the lessons at http://www.codebymath.com perhaps.

  40. That there is nobody already attached to this by jpellino · · Score: 1

    project who can guide you is a bit off. Tap into the school districts that make up your demog and they likely have the kits that can make this go. Heck, ask someone for their NXT layer of LEGO Mindstorms if they've moved into EV3.

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  41. do your own job, commie by Anonymous Coward · · Score: 0

    idiot

    1. Re:do your own job, commie by Anonymous Coward · · Score: 0

      Typical teabagger.

      Praises personal freedom; then whines when other people are volunteering, (volunteer != job ), and doing things they don't coincide with their personal agenda.

      And privileged boy here undoubtedly attended a public school, and probably a public college. But now he resents paying taxes so that others can get the same benefits that he got.

  42. Possible Curriculum by bgarcia · · Score: 1
    Google CS First

    I haven't taken a look at it yet myself (I just found out about it yesterday), but it sounds like it might be exactly what you're looking for.

    All our materials are targeted at students in 4th - 8th grades (or between the ages of 9 - 14), and are free and easy to use.

    --
    I'm a leaf on the wind. Watch how I soar.
  43. Check out http://code.org/ by Timmy+D+Programmer · · Score: 1

    They have some great tools, the "Frozen" code example had my wife enthralled, and she does not care much for tech stuff.

    --


    (If at first you don't succeed, do it different next time!)
  44. khan academy by spongman · · Score: 1

    my 3rd-grader is doing the khan academy CS course. he's learning processing.js, and he loves it.

  45. paper experiment was fun by Anonymous Coward · · Score: 0

    I am a long time programmer. The best programming exercise I had in grade school was "How to tie a shoe".
    The teacher had us write the instructions for how to tie a shoe.
    Then she had someone read the instructions while she followed them with a shoe.
      It was laugh out loud funny (not lol).
    We learned to think in an orderly process.

  46. Touchscreens! by Anonymous Coward · · Score: 0

    You could get a raspberry pi and connected it to a video touch screen. Then you could teach a bit of programming and collaborate with the business department and make a Burger Company POS system for the kiddies to play with.

  47. Ice water robot by bugs2squash · · Score: 1

    you are sat on a plank over a dunk tank full of ice water. You will be dunked if you cannot create a program to control a robot to push the timer disarm button before the dunk delay countdown time expires.

    --
    Nullius in verba
  48. I did a lesson to sixth grades as such: by Metabolife · · Score: 1

    1. I brought in an old computer I had lying around

    2. I asked them to draw what they thought was inside it.

    3. Went over the drawings with the class.

    4. Blew some minds after opening it.

    5. Discussed the parts and related them to the human body as best I could.

    The retention was very high when they understood how the processor was like the brain, the hard drive like long-term memory, ram like short-term. The motherboard was like the circulatory system (blood stream). Video card was like the eyes.

    1. Re:I did a lesson to sixth grades as such: by Hasaf · · Score: 1

      I like this idea, I may use it next term. There has to be something to do to liven up the "parts of a computer" class.

    2. Re:I did a lesson to sixth grades as such: by Anonymous Coward · · Score: 0

      Was this in the 70s?

  49. Back in the 80's when I was in the 5th-8th grade by Anonymous Coward · · Score: 0

    I used to ask, how do I engage my teachers in computing.

    Honestly, in the 2010's I think the question is sill valid. Those who are interested will find egagement themselves and those who aren't won't care and you'll be wasting your time. Spend all the time and money you want, but it's extremely remote that you'll engage me in baseball.

  50. Hardware progression by Anonymous Coward · · Score: 0

    First Robotics Lego League, Mindstorms, Arduino, Processing talking to Arduino, Create 2 from iRobot, then BeagleBone Black in High School.

  51. I did something similar. by Anonymous Coward · · Score: 0

    For 6th-12th graders I used Turtle in Small Basic to teach programming. http://smallbasic.com/
    The slow ones will have a hard time with it, but it really does open minds with the brighter kids.
    Typically I'd do a lesson on the board, have them copy it. Then we'd do a minor variation. Then I'd have them do a program of their own using the same concepts.

    Example: Program that prints hello
    Example 2: Program that takes your name then prints Hello Name
    Task: Write a program that takes your first name and last name and prints "Wow your name is Name Surname"

    Another thing was Gamemaker. Although kids have a harder time grasping creativity needed to make a game. You'll find after the first 3 basic tutorials games, they'll be stuck in a rut and unable to do much by their self. (Bad thing when teaching 10 kids of various intelligent levels at the same time.)

    Not sure the skill level of the kids you're working with. Mine were mostly below average, so the basics of small basic was about the max I could do with the Middle Schoolers. High Schoolers on the other could understand most of the concepts. Some even got to the point where they could write pseudo-advance programs in 1 month of hour long classes with me even though they had little interest in programming or computers.

  52. Minecraft + mods by Anonymous Coward · · Score: 0

    I'm not sure how much money you have, but this should be affordable enough for your typical 20-30 seat class.

    Get Minecraft, pick out a custom launcher (I recommend Technic) and design your own modpack containing at the bare minimum the mod called OpenComputers: "turtles" programmable in Lua. You can try RedLogic for when simple redstone circuits aren't enough and MineFactory Reloaded if you want to try your hand at teaching them industrial automation with programmable circuits.

  53. Arduino Nano + MB102 breadboard + sensors = $30-40 by Anonymous Coward · · Score: 0

    I've been given home-made Arduino kits for my nephews for a few years. About 1/3 of them take an interest in it. I first tried electronics kits (555s + various CMOS chips + LEDs); these kits were cheap, but too complex and uninteresting. Arduino Nano projects are quicker + easier + more fun.

    I found the CodeBender.cc web IDE to be easier for sharing projects than the Arduino native IDE.

    Here's some example code: https://codebender.cc/user/max%20keiser and project details: http://guidgenerator.com/arduinoprojects.htm

    Some of the projects they've built:
      - simple blinking LEDs controlled by variable resistor
      - "knight rider" LEDs
      - music from Super Mario theme on a buzzer
      - weather station (temperature + humidity) on a 1602 LCD
      - ultrasonic range finder w. 1602 LCD
      - pulse monitor with a 5110 LCD + buzzer
      - motion alarm with a PIR sensor + buzer
      - stroboscope + fan
      - Pong video game on a 5110 LCD
      - 4x4x4 LED cube wired on a 9x15cm PCB (takes 2-6 hours)

    Recommended parts ($30-40 on eBay or Alibaba):
      - Arduino Nano ATmega328 + USB cable (easier to wire than Arduino Uno, Mega, etc).
      - MB102 motherboard + power supply (easier and more robust than other breadboards and batteries)
      - breadboard male-male jumper wires
      - male-female jumper wires (only need a few for some sensors that can't be plugged into breadboard)
      - bright blue LEDs + 4.7k resistors
      - 10k variable resistors + knobs
      - 1602 LCD + 470 resistor
      - 5110 LCD + 470
      - heartbeat sensor
      - peizo buzzer
      - PIR motion sensor
      - DHT11 temperature sensor
      - HC-SR04 ultrasonic range sensor
      - digital multimeter
      - computer fan
      - 12x12x4.3mm button switches
      - 9v batteries, 2.1mm 9v plugs
      - 40 pin male header strips (needed for LCDs)
      - soldering iron + solder (needed for LCDs)

  54. BASIC by Anonymous Coward · · Score: 0

    Simply BASIC comes to mind and it's easy to get some programs running like 'guess a number'. INPUT and PRINT are easy enough, IF .. THEN .. ELSE is nice too, GOTO is easy and we don't care whether it's morally wrong or not.
    QBASIC is a bit lame (under dosbox?) but gives 320x200 256 color and 640x350 16 colors at least, with beeps (default beep is the BEEP command, then you can get height and length variations)

    There might be some BASIC with better graphics, multi-platform, I don't know which one. But it's easy at least moreso than python or javascript + browser.

    1. Re:BASIC by johnrpenner · · Score: 1

      a TRS80 or apple ][ emulator would be good for this —something like SDLTRS..

      http://sdltrs.sourceforge.net/

  55. Robo Rally! by wikthemighty · · Score: 1

    Robo Rally would be a great place to start teaching programming basics (i.e. programming steps and timing.)

    Earliest computer/electronic experiment that really struck me as a kid (1st or 2nd grade) was 'decoding' circuits with a logic probe: we had rectangles of construction paper, half of which had two rows of hole-punched holes on opposite ends, and we taped tin foil paths between them, including bogus foil under the 'dead' holes. After making a half dozen of these each, we traded and logic probed someone else's circuits. Lots of fun!

    --
    "There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
  56. Obligatory Big Bang reference by pLnCrZy · · Score: 1

    I suggest you do not Google "How to get 12 year olds excited."

  57. Subjects are useless by JThundley · · Score: 0

    Just don't let them get each other pregnant and you'll be well on your way.

  58. Vector Sum by Etherwalk · · Score: 1

    So kind of like OP said: Your goal is to make the field marketable to the kid.

    That's not what OP said. They want the kids to obtain marketable skills. And "marketable skills" are boring, while learning the fundamentals and instilling a lifelong passion for computing into young children is easier and more effective.

    Not really, they're just exciting along different axes. The trick is to find the optimal vector sum between marketable and fun.

  59. Amusingly, this also got posted today by ashpool7 · · Score: 1

    Can Students Have Too Much Tech?

    "Students who gain access to a home computer between the 5th and 8th grades tend to witness a persistent decline in reading and math scores," the economists wrote, adding that license to surf the Internet was also linked to lower grades in younger children.

  60. My Favourite Technique by Anonymous Coward · · Score: 0

    Start with something simple, so simple that it can be done in a minute. However it must be something with oodles of potential, something that can be hugely expanded upon. Then let the kids expand upon the base model.

    I used to use spreadsheets for this. What's the simplest spreadsheet that demonstrates the principle of a spreadsheet? Add 2 numbers together. Annotate the numbers as in a real-world presentation, and put in a title. Print that. The whole thing takes a minute or two tops, and produces a "finished product".

    The beauty of this is that it shows just enough of the product to stimulate interest and thinking in your audience. And it's trivial to expand upon the demonstration product endlessly, adding depth and complexity. However the initial form is simple enough for anyone to understand. That's your hook.

  61. do the programming first by Anonymous Coward · · Score: 0

    it's much easier and cheaper to do software than hands on things that may break and not work before you start coding.

  62. The right tool for the right job? by louic · · Score: 1

    No offense, but if you need to ask this question (and the way you are asking it) I don't think you are the right person to do this job and risk scaring them off more than engaging them. Let someone else do it. Seriously.

  63. FBLA - Future Business Leaders of America by Anonymous Coward · · Score: 1

    When I was in 7th and 8th grade I was involved with the FBLA afterschool program that taught general office computing skills like word processing, elementary database entry, spreadsheets, and networking. I also think we learned about robert's rules of order too! I had a blast and really enjoyed the freetime in the computer lab, granted it was in the mid 90's. I don't even know if FBLA is still around. = (

    1. Re:FBLA - Future Business Leaders of America by Anonymous Coward · · Score: 0

      Hell yes, FBLA represent!

      I even picked up some worthless Microsoft Office User Specialist certs when I went to nationals once.

  64. Coils and Relays by johnrpenner · · Score: 1

    start simple — stroking a nail with a magnet to magnetize it; coiling a wires; then show them a relay.. it works by the principle they themselves have done by coiling wire. then build the four basic logic gates: AND, OR, NAND, NOR.. that will already take a long time. have them write-up the truth tables by toggling switches and getting the results.

    then play chess with them — this will better prepare them than anything to thing clearly and logically independent of language semantics which will soon be obsolete.

    2cents
    j

    1. Re:Coils and Relays by johnrpenner · · Score: 1

      uhh — to think clearly..

  65. VIdeo Games are Great For Teaching Code by joetainment · · Score: 2

    I strongly suggest video games related material, in particular, Unity3D, Unreal 4, or for really simple intros, Scratch. All of these examples can be used to teach programming in a very interesting way that is fun for students and gives immediate feedback and results.

    Unreal 4 is pretty amazing because the "blueprint" system is a visual block/node based programming langauge that can function as a complete programming language without much concern for codes/syntax.

    Unity is better for direct coding. Boo is the easiest of the supported languages to teach, and very much like python, which is the 3D industry's standard scripting language, so I often start with that, and then some students move on up to C# coding. It's really about the same but with slightly different syntax, and of course the C# is less forgiving.

    Another great method, although it isn't quite a full blown game engine, is Python programming in Blender. There's an interactive command line for working with the 3D scene. The great things about programming for 3D software and game engines is that stuff can be extremely immediate and visual, so concepts can be understood quickly. For games, often you can see what's happening in your "world" by pausing the game and interactively exploring the state of things. Blender actually has a built in game engine, although it's pretty basic and limited compared to Unity or Unreal 4.

    If they are young, then you needn't focus on job skills just yet. What's more important is getting them interested so they start teaching themselves and getting into the habit of independent learning. You also don't necessarily *need* to do anything with hardware, focusing on software can work just fine as a intro for students.

    In conclusion, I suggest that you should be successful using anything that gives very immediate visual feedback on the state of the world (without debugging or printing/logging), and which has the "oh wow, this is fun" factor, something that grabs children's attention and triggers their imaginations.

    I can say with confidence that when teaching children, grabbing their attention and making it "fun" is a huge priority. I've been teaching this stuff for almost 20 years, and the games / VFX industry is full of my students. I've taught many adults, but also many children as well. If I can help at all, or if you would ever like to talk, feel free to contact me more directly. If you like, you can email me using: questions in the domain teaching3d.com (To avoid spam I didn't directly put the exact info there, but you can piece it together I'm sure!)

  66. robots. by Captain+Arr+Morgan · · Score: 1

    That is all.

  67. Projects? by Anonymous Coward · · Score: 0

    My thoughts are that I could conduct some simple hands-on experiments with circuits, and maybe some bread boards.

    I suppose it all depends on how basic you want to go, how many students, and what your budget (if any) is and how long the course segment is going to be. When I went to middle school, in our electronics class we would have several "project days" every quarter. For example, the one I remember the best is on the first day the instructor went over basic AM radio theory, how it works, etc. And the other four days of the week (I know most schools only do three and a half days a week now) each student built a crystal radio. Granted everyone in our class WANTED to be there so we didn't have the people staring at the wall or being disruptive like today. Since this is an "after hours" class that should not a problem in your case. The copper wire might be an issue today but the diode and variable capacitor should still be pretty cheap.

    Maybe instead you could play the 21st century version of "telephone". You get two people to play web server and client talking to each other while the rest of the class simulates a botnet doing a denial of service.

  68. What I did by Anonymous Coward · · Score: 0

    I taught an after-school class to kids of this age in upstate New York back in the mid-1980's. To get started I invented a game for the kids where they were part of a CPU, RAM, and instruction set. We would write some programs broken down into small operations that the "CPU" could process, and they would queue up each with their instruction for the CPU. We did things like basic math (push the 1 on the stack, push the 2 on the stack, push the + on the stack, then let the CPU pop them off and perform the calculation. They had fun, and learned how computers actually worked. We then took those lessons and started into some real programming. At that point, they understood what was going on - it was no longer "magic" to them, but something that made real sense.
     

  69. programming is a dead end by cjonslashdot · · Score: 0

    "whatever we do, I want the kids to obtain marketable skills."

    Really? By the time those kids are out of college, programming will be obsolete.

  70. Don't discriminate by Anonymous Coward · · Score: 0

    Don't exclude children because they happen to have a penis ?

    code.org are sexist shits.

  71. One Word by Anonymous Coward · · Score: 0

    Porn.

    Worked for me!

  72. build 3D game with AgentCubes by the+agent+man · · Score: 1

    still available from the CS Ed week: http://sgd.cs.colorado.edu/wik...

  73. Try Project GUTS by Anonymous Coward · · Score: 0

    Try Project GUTS. It's a great STEM program geared toward middle school students with proven results. It's based in New Mexico, but I'd still recommend reaching out to the program, even if you're not located nearby. http://www.projectguts.org/

  74. Programmable NanoDrones by Anonymous Coward · · Score: 0

    I suggest programmable nanodrones which they can fly indoors and later outdoors to map their neighbourhoods.

  75. Lego by fullymodo · · Score: 1

    I do a Mindstorms unit with my grade 4 class. The kids have a blast building the robots, doing little challenges, time trials, etc. In the mean time, they are learning about sequences, switches, loops and basic programming logic as well as how to trouble-shoot their programs. Granted the Mindstorms NXT Edu kits are not cheap. Other, cheaper (as in free) suggestions might include Scratch, or Khan Academy's JavaScript mini-courses.

    --
    In the land of the blind, the one eyed man still has no depth perception.
  76. One education for all by Anonymous Coward · · Score: 0

    I think it's a mistake to more-than-basically-introduce programming to the entire student body. Maybe 1-3 out of 10 kids are probably interested enough to even pay the slightest amount of interest. The right thing to do would be to introduce the entire class to computer science for 1-2 weeks, and after that only continue with the students who remain interested. You cannot fit this into the general curriculum. You'd need to separate out those interested in the concept and only teach them. Expecting every single kid to take part in computer science is only going to alienate nearly every student - all those who will never have anything to do with IT their entire lives.

    This is the problem with education, expecting to teach all kids the same subjects. I'd have killed in elementary school for a computer science program, as I knew at a very young age I wanted to be a programmer. 95% of my fellow students? Not a single shred of interest. It is wrong to not have provided me with a computer science program to let me learn. It would also have been wrong to force all students into learning it when a very small fragment of the population wants to be immersed. Until primary and secondary schools can customize the curriculum for each student, this will never work.

  77. Blockly Games by cheaphomemadeacid · · Score: 1

    https://blockly-games.appspot.... - i've been programming for about 15 years and this seems like a perfectly nice introduction for kids

  78. what i use this semester in portland by jeoin · · Score: 1

    i use botlogic.us with good results
    then move to code for lifes rapid router
    all to get to mits scratch

    --
    Jeoin
  79. From a tutor and mentor with experience in IT and by Anonymous Coward · · Score: 0

    First thing I will recommend is starting them off with a computer to take apart and put back together (hands on, groups of 2-3 with the help of experienced mentors) then introduce them to ohms law. From there, teach them how to read resistor bands, how to work with series and parrelell circuits on paper and a breadboard, teach them about capacitors, have them take 5 AA's, a battery pack with wires, an led and 330 ohm resistor and have them light it up. Next introduce them to the light spectrum and treat it as an entry into infrared light, electrons and photons, take an ir receiver and hook up an led to the bout pin, take a TV remote and hit a button while pointing at the receiver. There is your intro to electronics. To introduce them to programming, use some arduino uno's with the arduino environment and teach them basic c programming. After that, have them engage in other fun projects.

  80. You don't. by Anonymous Coward · · Score: 0

    "Computing" is a dead end. "Computing" is for losers. The dreams of the '70s and '80s have turned to a dreary reality. There are too few high-paying jobs and those are already taken. Don't force upon kids your own delusions.

  81. See CSunplugged by Anonymous Coward · · Score: 0

    The CSunplugged project contains lots of teaching ressources that work really well with young students.
    http://csunplugged.org

  82. video games by Anonymous Coward · · Score: 0

    Give them a taste of PC gaming, then take it away by arranging for something to be broken. Provide reading materials with the solution to fix it buried behind a flood of other PC related content that would also be useful to learn.

  83. Visualize and relate to their math level by RichMan · · Score: 1

    Present the operations visually, and give them a way to visualize what thier code does.
    Make all arrays/vectors visible with color coded elements based on value. Let them program and play around.

    Make a 20 item slow visual of
          bubble sort
          insertion sort
          selection sort
    discuss how a person would do.

    Move on to
          game of life
          grass, bunnies, wolves and moose on an island
          10x10 maze creation and solving
          solving factorization problems
          converting fractions to decimal numbers
          adding fractions
          word search creation and solving

  84. Laser guided blowguns by TheProspector · · Score: 0

    And other fun projects at the King of Random https://m.youtube.com/user/010...

  85. Your post is obsolete by now. by gwolf · · Score: 1

    America is swamped already by illegal migrants. Some of them started arriving in the XVII-XVIII century. We failed to protect the borders of our great, glorious nation — And yes, they overthrew us and reducted us. Nowadays, the USA is flooded with all those dirty white do-no-goodies. They walk and drive around what used to be our forests and plains, as if they were the lords of the land. And they now don't want to allow any further migration After teaching us that migration was just a natural phenomenon, after telling us that Europe is overcrowded and they needed to pursuit the Great American Dream... They want to deny that same dream to newer migrants...

  86. Engage Students by Anonymous Coward · · Score: 0

    Try a Rasberry Pi. It has Minecraft and the Scratch & Python languages. Should keep them engaged for a while.

  87. Point them to EEVBlog and 'Talking Electronics'... by Eyeballs · · Score: 1

    EEVBlog:
    An off-the-cuff Video Blog about Electronics Engineering, for engineers, hobbyists, enthusiasts, hackers and Makers
    https://www.youtube.com/user/EEVblog

    And the person that inspired the EEVBlog Guy to get into electronics has a _LOT_ of free materials on his site:

    'Talking Electronics'
    http://www.talkingelectronics.com/te_interactive_index.html

  88. LiveCode is Already Teaching Kids Programming by Anonymous Coward · · Score: 0

    One simple path: LiveCode... already super successful in this field.

    see: livecode.com http://livecode.byu.edu/

  89. My advice by MakersDirector · · Score: 0

    My advice is to wait til they are of age, then ask them to marry you..

  90. Re: Physical computing ... LEGO by john.clark1958 · · Score: 1

    I second the Lego Robotics aka Mindstorms approach. It builds on skills and experience the kids already have and adds the extra dimension of movement and control. There are existing kits and educational supplies and as a very experienced teacher friend of mine once told me. "it was the only time in my teaching experience that he had the whole class continually and completely engaged". There is something for all interests, from the mathematically inclined to the hands on concrete learners, the abstract thinkers as well as the artists and writers. Once the students have reached an advanced level they can naturally move into more advanced programming languages and onto other platforms such as Arduino's and Raspberry Pi. There are also international Robotics competitions to really get things moving. Best approach I personally saw was when I took my son to an introductory day and they built a battle bot with the task of pushing another battlebot outside a square marked in tape on the floor. Oh yes an there were girls there too just as much into it as the boys. Best moment was when my son elbowed me out of the way and said "I got this Dad!"

  91. Re: Physical computing ... LEGO by Anonymous Coward · · Score: 0

    Thanks for the up vote requests. Seems like we're the only ones as both your posts got modded down a point. Well, failure is the best teacher. :(

    And yes, I have worked in higher ed in a college of engineering for more than two decades doing outreach efforts for K-12 for more than half that time. I know what works and doesn't work. Been there, done that (both succeed and fail) and have the t-shirts. Looks like the do-more-coding crowd has more sway in this thread and on /. anymore.

    P.S. I have an account here but refuse to log in after the Dice overlords screwed things up. Do stop by for interesting posts, though. Cheers!

  92. Try the Pi by Anonymous Coward · · Score: 0

    The ultra low cost ($29) Raspberry Pi is a wonderful little computer for teaching kids programming. On raspberrypi.org, the most prolific poster of programs and projects is 12 years old.
    It runs python, scratch and more.
    My 10 year old grandson, on being introduced to the Pi had a simple gamewritten in python in two hours, with no help.

  93. Raspberry Pi by MoarSauce123 · · Score: 1

    The Raspberry Pi was designed exactly for this purpose. You can program it in Python or Scratch, but also many other languages. In regards to programming, I spent a fair share of time with VB6, ObjectPAL, Pascal, C, Assembler, Delphi, VB.NET and Java. Except for VB6 (which is unfortunately dead) they are all cumbersome and needlessly complicated. I eventually found my home with PHP, you want to do X then the command to use it typically X. PHP is also excellently documented and as demanded by others is a marketable skill. Yes, it has shortcomings and is quirky at times, but despite its simplicity you can do a lot of awesome things...and that even without object oriented programming. Just yesterday I came across https://codecombat.com/ (might even have been from a /. article), it is a game that teaches coding skills. I didn't have time yet to evaluate if it is any good.

  94. Re: Physical computing ... LEGO by MoarSauce123 · · Score: 1

    I agree...but I have to mention that Lego Robotics is freakishly expensive! Unless you can find a good sponsor you won't be able to get enough sets for even a small group. I looked into this for my kids and I could just not afford it.

  95. Re: Marketable?-Virus removal by Anonymous Coward · · Score: 0

    Pre-infect a donated computer with a virus. Show them how to safely find anti-virus tools, and use it to disinfect the computer. Explain they can earn $50-$100/hr doing this to other people's computers. Even if they don't end up doing this for $$$$, it'll be good practice for when they surf incautiously/to porn sites.

  96. COMPUTING FOR 5TH - 8TH GRADERS by Anonymous Coward · · Score: 0

    Take a look at this web site. The curriculum is written by a Middle School teacher in Colorado Springs.

    http://www.kidsnetsoft.com/html/home2.html

  97. Code a game! by Starport · · Score: 1

    teach them the basics of the language, and tell them that they can code up any game they want, in a group of two or three, and that the pass grade is a working game. be that a simple logic game, or even more complex. This makes the course interesting, teaches logic, and and an aim at a (even if simple) working application. I held a course for university students for a week, teaching them C, and the first three days, we worked through the basics of the language, structures, variables, pointers and a good few other things, in half-hour lessons, and 1.5 hour practice sessions. last two days, they were given the task of - create a game, anything you want, but it has to work, and that will be a pass grade. All of them sucked up the info, went to practice, and all passed with flying colors, making not just functional games, but well-designed such, and had an interest in it, as it was lighthearted with focus on doing while learning. The comments afterwards was more or less unanimnous - we learnt more about practical working coding in a week, than we did in 2 years of university courses. They all said they gained an interest, as i was showing them how to use the language to achieve the goal, rather than teach them programming for no reason.

  98. Unplugged by Anonymous Coward · · Score: 0

    Check out the Computer Science Unplugged group. Lots of fun things to do here that don't require a computer to be up and running.

    http://csunplugged.org/

  99. I've done this. by ChoosyBeggar · · Score: 1

    I offered my time for 2 hours once a week to a nearby school in an urban area. I taught a small group (about a half dozen 5th- & 6th-grade students, IIRC) basic computer skills & how to use them for art & animation. For the most part, they seemed to see this as free time away from normal classes. This changed when they asked how much I was paid to be there. I told them I was paid nothing, that I was there to help them learn. They really started to pay attention at that point.