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?
"Look how you can get a spreadsheet to do your boring repetitious homework for you."
Table-ized A.I.
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.
5th grade : Minecraft
6th grade : Minecraft
7th grade: porn
8th grade: porn
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.
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
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.
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/
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.
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.
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.
Potatoes that make electricity.. small electric loops.. etc.
http://www.miniscience.com/pro...
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) 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!
See the value of K-8 programming by watching an interview of a 9 year old!
How can I teach my child electronics with an Arduino kit?
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).
Here's a syllabus I came up with: http://jsfiddle.net/clayshanno...
Oh, Wait ...
Sent from my ASR33 using ASCII
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!
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.
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.
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).
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
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.
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.
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."
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.
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!)
my 3rd-grader is doing the khan academy CS course. he's learning processing.js, and he loves it.
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
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.
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
I suggest you do not Google "How to get 12 year olds excited."
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.
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.
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.
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. = (
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.
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
a TRS80 or apple ][ emulator would be good for this —something like SDLTRS..
http://sdltrs.sourceforge.net/
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!)
That is all.
still available from the CS Ed week: http://sgd.cs.colorado.edu/wik...
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.
https://blockly-games.appspot.... - i've been programming for about 15 years and this seems like a perfectly nice introduction for kids
i use botlogic.us with good results
then move to code for lifes rapid router
all to get to mits scratch
Jeoin
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
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...
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
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!"
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.
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.
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.
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.