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?

90 of 175 comments (clear)

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

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

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

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

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

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

    7. 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.
    8. 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."
    9. 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.

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

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

    12. 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 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.
    2. 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
    3. 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.
  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: 1

      depends how literally he meant it.

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

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

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

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

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

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

  8. 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.
  9. 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.

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

  11. Science projects by modi123 · · Score: 1

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

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

  12. 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 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.
    2. 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.
  13. 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!

  14. 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).

  15. Outline of some subjects to discuss by axx3andspace · · Score: 1

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

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

    Oh, Wait ...

    --
    Sent from my ASR33 using ASCII
  17. 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!
  18. 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 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.

  19. 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.
  20. 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).

  21. 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
  22. 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.
  23. 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.

  24. 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."
  25. 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.
  26. 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!)
  27. 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.

  28. 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
  29. 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.

  30. 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
  31. Obligatory Big Bang reference by pLnCrZy · · Score: 1

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

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

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

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

  35. 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. = (

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

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

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

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

    http://sdltrs.sourceforge.net/

  39. 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!)

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

    That is all.

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

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

  42. 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.
  43. 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

  44. 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
  45. 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

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

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

  48. 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!"

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

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

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

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