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?

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

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

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

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

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

  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.

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

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

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

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

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

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