Computer Curriculum for Inner City Kids?
manicmailman asks: "I have recently (and probably somewhat rashly) volunteered to help teach computers at a local inner city school's summer camp program. I am really excited about this endeavor, but I have absolutely no experience. I was wondering if anyone else had experience teaching computers to elementary school students, particularly inner city ones. I'll probably only be there for 4 to 6 hours a week for about 8 weeks. The principal has given me almost total freedom with the computer class, so I am looking for suggestions about where to start and what to cover." Children from all walks of life deserve an education, and like it or not, computers are becomming as much a part of our lives as reading, writing and math. What lessons are kids ready to accept about computers at this stage, and how does one keep them interested?
I don't see why asking a legitimate question about experience in elementary computer education is a sign of laziness or stupidity. When it comes to grade schoolers, one can't just RTFM. Experience is valuable too.
Some of the Ask Slashdot questions are dodgy, but this one isn't one of them.
When I was probably 13 I got a PC with 2 whole megs of ram. at the time I thought it was so cool. Looked at the dos manual learned how to manage DOS, read about configuring autoexec.bat, config.sys. Taught myself about loop controls in the autoexec.bat files. Remember I was 13 so I thought it was cool. Then I found the world of BBS's and I knew nothing about downloading files. 2400-baud modem with a crappy term program (pro something). Found a board with bbs lists. Wasted time. Found those wonderful Warez boards next was just getting leech access. Then found Linux when I was 15. 6 disks for a basic text based slackware. Someone just giving me a c:\> was probably the most beneficial thing that anyone could have done.
I'd focus on developing the ability to break a task into it's component tasks. This mental skill is essential for problem solving, math, and programming.
One of the best/fun activities was to have the kids write up instructions for making a peanut and jelly butter sandwich.
Explain that computers do exactly what they are told, nothing less and nothing more. Telling a compter what to do is pretty hard. Then have the kids write out instructions for making a peanutbutter, and jelly sandwich.
Collect the instructions, then you put on an apron, pull out a loaf of bread, peanut butter, jelly, and knife, then follow the instructions. Follow the instructions exactly! Be a computer, make a HUGE mess, and the kids will love it.
Growing up I had a teacher do this. When instructions told him to put peanut butter on the bread, he picked up the jar of peanut butter, and put the jar on the bread, then it said to spread the peanut butter so he moved the jar around. After 5 or 6 sandwiches the kids will be ROFL and your time will be up.
The next lesson is perfect for explaining simple programming. Preferably with a LOGO system. Explain how they can tell the computer what to do like the instructions for sandwiches. Cover the LINETO, and MOVETO, commands, and write the syntax on the chalkboard. Then let them fool around with LOGO for the rest of class.
For the next class give them the assignment to make a square. After that is done cover relative movement and rotating of the turtle. Have them make a square by using relative movement only.
Next you can introduce looping. Have rotate relative squares around and move the turtle around and rotate shapes for a long time. They will probably be able to spend two whole class sessions playing with the fun designs they can make.
After that you can introduce sub-routines, have them call a relative square routine from inside a loop. Show how making pictures is faster because they don't have to write the square instructions over and over.
After logo you could introduce Python, and explain that it is a different way of telling computers what to do. Then have them write Hello World. Do input, output, looping, and finally cover the if statement. It is amazing but kids do get a kick out of printing "Ed is cool" 500 times.
The biggest thing to do is keep the kids engaged all the time. Have them typing on the computer, or watching you do a comedy routine. Ideally, the kids would listen to you for 10 minutes then they would work on the computers for 50 minutes, while you walk around the class and answer questions, and gather people around to see someone's "GREAT" program. Be very positive, and be real cheerleader for the kids. All kids need that.
Open one up and show them the components and talk them through how they work. Kinda computer gross anatomy. You can teach them how to build and operate and maintain a machine. With those skills they will be much more prepared for high school. I also recommend teaching them about free/open source software. Computers have some significant $ barriers for entry as a field of expertise. Teaching them that there are cost free alternatives lowers that barrier. If they also learn about components etc... they can learn how to purchase them cheaper and better configured for their needs than something off the shelf from best buy. Historically one of the biggest problems for underprivilaged persons is awareness, and access to opportunity. By them participating they have some very basic level access. Now teach them awareness so they can get more access. A computer job/internship in high school for a suburban kid would be fun and cool and extra spending cash. Having the skills to do that and getting one for an inner city kid could be life changing and an income. Don't teach them to play (they'll figure that out themselves if they keep going) teach them real skills as if they are young adults. It could make a big difference. You will be surprised at how fast they will learn if you push them.
I work for a large Houston,Tx area school district and I have to say that most of the kids running around today have more knowledge of computers and the things that run on them think. My 10 year old nephew is writing basic programs in C and PERL. He has a 133mhz acer with 32m RAM. Computers are cheap enough for even the poor people of our nation to get one.
1) Don't bore them :)
2) Don't let them play games all the time
3) Find something fun as an incentive for attendance/paying attention. I've seen professors that threw candy (or money even) at intervals. Seriously, it'll help
4) Try to make them learn at least one thing every session
These are distilled from my experiences teaching high school juniors and seniors as a mentor in the Boy Scout Explorers program. My topic was computers in the workplace.
I did a horrible job, I'm afraid most techies just aren't cut out for this kind of work (least I'm not).
Good luck!
I'm reading your article, and it sounds like an interesting topic for discussion, but any productive conversation we could have can't happen now, because of your racism in noting the "inner city" status of the students.
Why emphasize that fact? How is it possibly relevant? Whether you realize it or not, you're just playing on society's deeply rooted prejudices about how inner-city students just can't learn because they're too stupid or too black. It's a disgrace.
And which "inner city" are we talking about here? You're again playing on society's prejudices when you lump all urban environments together as somehow producing inferior students or inferior learning environments. The racial and economic composition of inner-city LA is nothing like that of Chicago or New York. The only thing such urban environments have in common is a high concentration of residents (hence, "city"). To say otherwise is to be blind to racism and classism.
If you're going to be an effective teacher for these students, then you first must overcome the prejudices and patronizing tone you've apparently adopted. No one wants to be talked down to, and if you show up for the students with an attitude that they are "different" from and "inferior" to you, then they will be only further discouraged and offended. Remember, these communities have enough problems without having to deal with your white guilt or misplaced social intentions.
Just curious.
You must have had some of the same teachers I did. :-(
What's better than the turtle? It runs on super-old, virtually free hardware (can you say Apple II/E? I knew you could). It teaches the fundamentals of programming (arguments, control loops, etc). Logowriter provides instant feedback, which is a plus to new programmers -- type FD 50, and *watch* the turtle move! It's COOL.
Logo was the first language I ever learned, and without a doubt, it was what got me started in programming. By the end of my third year I was making movies complete with animations and music. It's the ultimate sandbox, it's cheap (if not free), and kids don't even know they're "programming".
My $0.04
Brandon
Any game you download includes the source so they can learn that way. My son learned to code using these systems when he was 9 years old.
P.S. Another idea is to set up Linux machine and let them build a website (using Netscape Composer etc).
PPS. Look up ZZT and MegaZeux in Google to find the programs.
...richie - It is a good day to code.
I don't think it's right to teach kids to rock and roll all night and party every day.
--
#19845
Even "normal" logo should be fun. It is available on a wide range of platforms from Apple IIs to macs to Linux machines. I remmeber learning this on the Apple II. The instructor showed me a version of the eliza program in logo and challenged me to see if I could figure out how it works. It is a much better way to teach structured programming than BASIC, which is an unnecessary crutch to learning programming IMHO.
JET Program: see Japan, meet intere
and we did much the same thing but it was a while ago so we used a paint program and had them drawing and merging pictures. Opening closing files, and using floppy disks...Gave each child a disk of their 'OWN' with their name on it, BIG HIT, and it was cheap. The main thing is too keep it light and FUN. Irregardless of what some folks say, a creative game can work just as well.
errr....umm...*whooosh* *whoosh* Is this thing on ?
I taught graphics and programming classes to middle- and high-school students for a couple summers, and that was a lot of fun.
One question: what in particular do you want to teach? You mention that you're supposed to teach "computers", but "computers != programming". Indeed, I wouldn't endeavor to teach programming to anyone that didn't explicitly say they wanted to learn it. If you're going to be dealing with a random sample of students from an average classroom, I'm guessing most couldn't care less about programming.
Were I in your position, I'd play around with Photoshop (or perhaps even something simpler), publish a simple webpage, browse through the web, etc. Also, I'd pull out Quake or some other FPS -- seriously. I'd probably get some tame Mod so there isn't blood flying all over the place, but I think it makes perfect sense to introduce them to gaming (if they aren't already L337).
When I was teaching graphics, I pulled out the Duke Nukem' level editor -- it worked fantastically. It was easy to use, and extremely rewarding with plenty of instant gratification. At the end we had competitions in each others levels -- it was a ton of fun.
However, I wouldn't in any way assume that kids want to learn programming. That is a nightmarish situation to force-feed.
Have them play dopewars! they can learn about economics, their own culture and computers all at once. Seriously though, this seems to follow the sam philosophy as those reader rabbit type games.
Why not let them make 3D raytraced graphics and games with Blender? I can't think of anything nearly as fun and challenging at the very same time! The site is at blender.nl.
Just run them through some of the provided tutorials and let them go - they'll learn it much quicker than I would I think.
Anything you might teach them about a particular piece of software or hardware will be outdated before it's useful.
Instead, give them something noone can take from them, and can never be outdated. Teach them not to fear. Teach them to explore, and think. Show them that they can teach themselves. Show them trends in how computers work, and how they can use that to do things they don't know how to do.
On a practical note, how you get the kids engaged will be as important as what you plan to teach them. Let them get their hands on, and in, the computers. When you give the inevitable lecture on what the basic parts of a computer are, hand them out, and let them pass them around. The parts will probably be broken by the time you get them back, so use old parts. Get them doing something with software, even if it's just drawing, or surfing the net. Realize that they have a short attention span, so keep moving. Make it possible for an individual student to return to something you touch on, but don't hang up the whole class.
You will be a curiosity to these kids. You've got a chance to shake them up and do something different than their normal teachers, but they will also test you and your control of the classroom. It would be better to have one of more of their normal teachers in the room, to handle discipline. If you don't have that luxury, start reading about teaching, and crowd control. *How* you present your material is every bit as important as *what* you present.
If you're interested, reply to this post. I know a couple of teachers, and may be able to get some useful further information on technique.
Ouch, too sad.
--
Leonid S. Knyshov
Leonid S. Knyshov
Find me on Quora
agreed. they are a buncha rock smokin fuckwits.
Dope wars is insanely fun.
you can download the palmOS version of it from here
"Tension is the great integrity" -- R. Buckminster Fuller
First of all, let me compliment you for making the effort. You'll find that much off the hard part has been done already. The kids (well, not all of them, but a surprisingly large number) will be very interested, right from the get-go. Part of this is because they find computers to be "fun". Another piece is that our society makes so many jokes about how kids know so much more about computers than their parents, that many of the kids come to believe it (though it's probably not true). They feel like this stuff is fun, easy, and that it's their birthright.
Your job, (as I see it) is to encourage this. At the elementary or middle-school level, you want to be building up their confidence, showing them how powerful these tools can be, and encouraging them to branch out on their own. Actual "teaching" of particular topics comes in a distant second. Actual teaching of programming comes a distant 5th place, after things like word-processing. But focus on teaching "computers" (whatever that is!) and you'll do just fine.
[NOTE: I'm sure some /. readers will disagree. I, too, remember
learning LOGO in elementary school. It was a great exercise, and
fun too. But I'd have learned programming without it. There's time
enough for that later.]
So, now for something practical. I'm proposing that you make "computers" fun... what kinds of things do kids this age find "fun"? Well, I tried a WIDE variety of different things when I taught it (I too was given wide latitude with the curriculum. After all, I was the department head -- who was to complain! ;-).
Holding discussion (I didn't even TRY lecture!) on computer-related
topics was decently received, but wouldn't hold their attention
for more than a few minutes. (Really... not more than 3-8 minutes.)
Doing word-processing tasks was actually slightly MORE interesting,
but not much.
Working our way up the ladder of success, I found that going onto the internet to look for things or look at particular sites, was considered fun, but it never struck me as being particularly effective. Also, when I tried this I encountered a small amount of resistance from school officials and parents. But the main problem was that this was a private school, and the kids just didn't find logging on and browsing the net to be anything special... they did it every day at home. You may find this one more successful with your students... but maybe not, I'll bet most of the class knows SOMEONE with a net connection (perhaps a pittifully slow one, but it's there). I also tried teaching the kids to author their own web pages. A few simple HTML tags is all they need, and they can experient on their own after that. They really enjoyed linking their pages to each others (this is ESPECIALLY strong among Middle School students, since that's the age when they first begin exploring certain kinds of interpersonal relationships with their peers), and a few made pretty interesting sites, but it was only a moderate success.
What REALLY worked for me was when I tried creative media. Getting a really good paint/draw program and simply turning them loose was an INCREDIBLE success. Everyone loved it, (especially playing with digital photos of each other which we took), they did a good job, and they were clearly learning something in the process. One person would discover the commmand for doing a "smear", and would use it. Then a friend would ask "How'd you do THAT?", and be shown. Pretty soon, EVERYONE was playing with the smear tool. Once I saw how well that pattern worked, I started taking one or two kids aside individually and "seeding" them by showing them a new technique, which would shortly get passed around the room.
I had similar success with some of the EXCELLENT multimedia learning tools that were available. Things like Amazon Trails Adventure, from MECC (cheaper), or ANYTHING AT ALL from Tom Snyder. The kids loved it, and it was particularly easy to use, since most come with pre-designed grade-specific exercises. The better ones even come with instructions on how to use them when there are far more students than computers.
But by far my greatest success came with just one program -- HyperStudio. This is a multimedia authoring program... the students could make THEIR OWN multi-media "presentations". And it's easy enough for middle-school (even smart elementry school) kids to actually work with it. Every single kid in my class enjoyed working with that, and they worked HARD, because they liked what they were doing. When they had finished, several students had created presentations that were amazingly good, and one student had created something which I doubt I myself could have equaled (but he was an amazing kid).
Well, enough of the examples. By now you probably get the gist of my suggestions... make it FUN. And try to think on the level of what a young kid would enjoy, not the average /. reader. Good
luck, and thanks for contributing to make this a better world
for all of us.
-- Michael Chermside
PS: I meant it about emailing me if you're interested.
First of all, you need to find out what type/quantity of hardware and software you have available to you. Next, what grade/grades/ages will you be teaching? How long will your lab periods be? Will you have an aide, or can you get volunteers to help? And perhaps most importantly, what will your class size be? You need to know these things before you make ANY decisions about what you actually teach, as these factors will determine much of what you will be able to do.
I can share a lot more but am in the middle of report cards right now so time is short. I teach 4th grade (including computers 3x per week) at a public school in CA, if you have questions concerning curriculum or classroom management, please feel free to contact via e-mail.
By far the most appealing thing about computers at a young age for most kids was games. things like turtle in basic, even where in the world is carmen sandiego, was a big hit. Anything that might get kids involved in simple interaction with the computer. It dosen't have to be oriented to programing or anything in particular. Just getting them to hit keys, and move the mouse. I believe you have to mask the education with something they might have fun with.
Anyway, the TAF people are very very good at what they do. The students who graduate TAF programs are really smart, they not only know individual programs but quite a bit of hard CS as well. These are inner-city kids, many from very poor families....
whatever. the question is a legitimate one. i tutored english classes in DC for a year in a public middle school, and the conditions there were very different than in the suburban schools i'd gone to. the textbooks were all out of date, the computer resources were minimal (which is probably less important than the textbooks), and there were too many students per teacher. add on top of that the fact that some kids that appeared to my untrained eye to have significant learning disabilities weren't able to get special attention (due to lack of resources), and it's a difficult situation in which to be a student or a teacher.
that said, it probably depends greatly on the role that the teachers expect you to take -- in my case, the teacher i worked with seemed to use me to get her "trouble kids" out of the classroom for a while. hopefully for the author, he'll be in a more productive environment.
I would certainly make a point of having some fun computer games and other types of play for them (to keep them interested), but I also think there is a very serious matter they should spend some time (maybe an hour a day) on: problem solving.
There are some 'classic' problems, which are kind of fun to work with students on, but which require absolutely no use of a computer. The first is the problem of having students, working in small groups, prepare a step-by-step set of instructions for a few simple, everyday tasks (tying shoes is an obvious one). Then, you take each set of instructions and follow them absolutely literally. The results are usually hilarious, and give the kids an idea how 'dumb' (i.e. literal) computers are. Of course, you should give them a few tries, and they will quickly converge on a real set of instructions.
Then, work with them on some more normal algorithmic tasks, again by hand. have them plan how to sort a deck of cards, or how to count to ten (and stop when they get there). It is important to stress that you don't spend all the time doing this stuff, or the kids will be bored to tears, but if you do some of it, and do it in a fun way, you will get them started thinking about how computers really work.
You have to start with the basics - hardware and how it works, 1's and 0's and what they mean, how they travel to where and why. You have to make this funny or it won't stick and you'll lose them early. This should take maybe a day, maybe two because it's basic apple counting (no reference to mac here:) - they don't have to memorize it, just be familiar with the concept. Then get into the acronyms and what they mean right away (eide, scsi, usb, everything). Kids are great at remembering these types of things, & again, just give them enough for a frame of reference. *note - this part should be OS agnostic.
By the 3rd class at the latest they should be ready to build their own. They'll lose interest if they don't do this early, and really, it's not hard. It's something their parents may not be able to do, which makes it even more fun. From the build you have to take them back to 'class' so to speak to teach them about the OS & networking and how their computers talk to each other. One day, just enough to give them the idea. !DO THIS before you get them on the net or they'll flounder with the basics of how the net works (in theory...). It's probably another two days for networking, lab time included. Really, get them talking to each other first.
The rest of your classes (week 2 to 2.5) should be on the 'net, installing programs (or better yet, net games like net-hack), and fixing problems. They'll figure out on their own what to do with the programs, so just let them play with whatever programs they can get their hands on for short periods (games for sure to get them started, but don't let them play too long on one thing - give them a whole lot to install from everything from games to productivity apps to web servers). The more they know about how to install a program, and figure out what's causing an error the more likely they'll be to keep doing it on their own. That's why it's critical to get them installing a lot of programs, no matter what those programs do, or even if they'll ever use them again.
I've seen a lot of posts saying 'programming!' but that's really not a first year thing to do. They have to know how to set up a computer and do SOMETHING with it before they'll figure out _WHAT ELSE_ they CAN do with it.
For the last week, have them wipe out everything and rebuild by swapping parts with someone else in the class, building a computer they can keep (/.'s could probably send their old parts or pc's for a 'graduation' gift... what do you think?) - their appetites should make them want to do something with their 'new' clean computer, but they won't have time since the class is over. With luck, they'll take it home and do it on their own.
Hope this helps..
Ctimes2
My cube. My friend. My solace. My prison.
Have you ever heard about Logo ? Logo is a simple iterative visual language. You have a "turtle" that you can move with simple commands. And that turtle has a pen to draw geometric forms.
It's ludic and very instructive, and I loved this language when I was a kid. It also teach you the basics of programming, and even optimization.
Check out Toby , a free Java Logo implementation. It doesn't come with extensive documentation, but just peek at the source code, you will see the list of supported commands.
{{.sig}}
You are going to have a great time! I volunteered to teach programming at my local school and it was deeply fulfilling. I did this for five years.
I chose Logo after reading Seymour Papert's Mindstorms : Children, Computers, and Powerful Ideas. It is a very inspirational, powerful book and I highly recommend it. The Logo language may appear to be simple but there is some very deep thinking behind it.
The best Logo that I could find was Microworlds. It is a very nicely done program and runs on both Mac and Windows. This link talks about it:
http://www.kidsandcomputers.com/index.cfm
Here is a fun way to start: First have the kids program a square, then a triangle, then a pentagon. Let them start to see that in all of these shapes they are basically asking the turtle to rotate 360 degrees, and that a circle can be thought of as a many sided polygon.
One of the many joys of Logo is that it brings kids into the realm of math and logic without them even really thinking about it. The turtle might seem hoky, but it helps enormously with the abstraction. If the kids get stuck on an algorithm, have them pretend they are the turtle and make them step through their program.
Enjoy -- you are going to be surprised how much fun this is!
Actually, I did a google on steve wozniak and he can be contacted:
http://www.woz.com/wozscape/index.html
Give him a shout!
Why do we always assume "inner city" means black? Isn't that presumptuous? I think "inner city" means "high pressure environment where metal detectors are common place in educational institutions [apparently for good reason]" so why the automatic, knee-jerk hanging?
The secret to oregon trail is to buy -32000 bullets, and then use the revenue from that to buy thousands of oxen, which will allow you to make the trip in 1 day.
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
Paintbrush rocks (if u are on windows i guess it is now called Paint). Teaches mouse eye coordination. Then graduate to say, some encyplopaedia, word processing, then to the web. I guess games might come into it as well, but they are not that relevant in teaching someone to use a computer. I don't think databases, or programming should initially come into it (as some have suggested)
Nevrar
Another tool along that line would be Squeak Smalltalk. Yeah, it's a bit, uhm, eccentric, but it has some cool animation stuff that works out of the box (comes with a demo Energizer bunny that you can do fun Ren & Stimpy things with) and takes little contextual knowledge of Smalltalk or computing in general. And Smalltalk was designed for kids to learn with few syntactic oddities and layers of rules to learn.
PowerPoint! (I feel my karma dropping). It has pictures, animations, sounds, and lets the kids express themselves creatively. It will also get them used to the Windows/Icons/Menus/Pointer things. Maybe you could burn some CD's full of good clipart and sound effects. You can give assignments for presentations on certain subjects, and then they can all present to the class If you can afford more recent versions, PowerPoint has good HTML conversion, and can allow your kids to post their creations to the web. I have always thought PP was the most fun thing for time killing when I'm at the office, and I have heard that kids love it too.
Quote You: :)
one suggestion is you may want to buy an old 386 and tear it apart for them so they can see what is under the hood so to speak... kids love to tear things apart
Uhh, not unless you're willing to pay for the tetanus (sp?) shot after somebody cuts themselves horribly on the terrible 386 era case. Sicking them on a cheap computer in a modern case is probbly a much better idea. Well, a safer one anyway.
Is this post not nifty? Sluggy Freelance. Worshi
I've worked as a camp counsellor at Compucamp, a summer computer camp for kids, for the last two years, so I know exactly what you're doing here. (see www.compucamp.ca)
This is how our program works: The camps are one week long, and each has a "theme". They're broken up by age groups.
The preschoolers and kindergarteners basically just play games all week, but we introduce them to some basic drawing and word processing programs (try to get them to see just how big you can make a font in MS Write). The drawing program we use, Drawing For Children, is absolutely great for the really young ones, and can be found at http://www.cs.ruu.nl/~markov/kids/draw/.
The age 7-9 group learn basic Frontpage skills and throw together a webpage, as well as learn the basics of Paint Shop Pro. We also open up Nerf Arena Blast to them, which is a game based on the Unreal Tournament engine, but with nerf weapons. Really nice game.
The most popular camp so far is the graphics camp, where the entire camp is divided into two groups, and they actually produce their own short movie (usually about 1:30 in length). They learn to use morphing software, advanced Paint Shop Pro, and video editing using Videowave. We also let them have some fun with an old version of Bryce 3d.
However, the one key element to all of this: don't put them on the computer for 8 hours straight!!! The way we worked was we had 16 computers and usually 30 kids (maximum per camp was 32). While one half was on computer, the other half was playing games outside, doing crafts, and other things. We took them swimming every Thursday, we had a water fight every Friday. If they're on the computers too long, it gets very nasty!
Beyond that, I hope you have fun as a camp counsellor. Please feel free to e-mail me here if you have any other concerns about your camp, as I've seen it all. :-)
Long ago, when I was a young one in my middle class elementary school in suburban DC, we were lucky enough to go to the computer lab once a week or so, twice if we were in the G/T program.
They would try to work with us by letting us play school standards like "math blaster" or word games, but our favorites by far, which not only got us comfortable with the computer itself, but interacting with it, was Oregon Trail. While this is no substitute for a solid course of study for your summer camp program - treating the kids to something enjoyable, a computer recess if you will, is vital to keeping them interested and engaged in what they're doing.
Hope this helps some/any!
I second this. I remember Oregon Trail like it was yesterday. Interfaces haven't radically changed in years, maybe throwing them on Trash 80's and C64's will teach them how to be operators in larger computer rooms where they have large arachic equipment and textual interfaces :)
In 1984 I was the computer literacy teacher at the Bridgeport, CT Boys and Girls Club. (Granted I only had one Apple II to do everything.) You run the risk with elementary school students of trying too hard. Under classic child psychology they simply are not ready for algebra -- which is a key part of any programming language I can think of, including the LOGO mentioned by others.
You can get them comfortable with the physical parts of the computer -- turn it on, how to load a CDROM. You can get them comfortable with using a computer via almost any edutainment application.
You could try HTML! There is no algebra in that -- values with equals signs, but those are not true variables. And all the software tools you need are free and pre-installed.
Personally, I cut my teeth on BASIC (Beginners All-purpose Symbolic Instruction Code) at the age of 10, but I doubt you can get a typical room of 10 year olds to do anything with, say RealBASIC.
If you can demystify the computer and get them (especially the girls) using the computers I think you will have achieved something.
Let them on some machines that with the GIMP. It would teach them a little bit about keyboard bindings, and let them do some drawing at the same time. Only problem here is that you need alot of computers with decent power (or a few with decent power), and I don't know how you're going to get those.
Anyway, the GIMP runs on so many platforms, you could run Windows or OSwhatever machines and still use it!
It is easier to get forgiveness than permission.
I would start out with getting these kids more capable of using the web: first give them a guided tour of the web--how to use a search engine, how to establish a free web account, use messaging. show them a bit about the top grossing web pages, and the most commonly used web pages(slashdot!). Another web page that I think might be a hit is www.ideosphere.com(i.e. a lot of folks I've known from the South Side of Chicago really liked competitive activities). Then introduce some basic HTML/Javascript to show them how programing works. I'd expect you have some budding musicians,writers and artists in your crew--showing how they can get their stuff on the web without spending bucks might get some folks really jazzed, really fast. Seriously, after 8 weeks, I'd expect some of these folks could go back home and help their schools, local business folks or churches establish a web presence where none existed. My own background here: I grew up in a not-so-prosperous rural area and live in the South Side of Chicago for 4 years during college-and in Hunters Point/Western Addition in San Francisco, and East Palo Alto. I think you have a real opportunity to make a really positive impact on the lives of a community here. Good luck!
First, a personal opinion: I believe that learning how to program is so valuable because through it, one learns problem solving skills.
On that note, if you want to teach programming, here are some ideas. I have use none of these for teaching, but I am intrigued:
Scheme/LISP - I learned Scheme from The Little LISPer (the most recent version is called The Little Schemer ), a great book! I already knew how to program when I learned Scheme, but this might be a good way to learn.
Other resources for learning programming through Scheme (with which I have no experience, but sound interesting):
http://www.cs.rice.edu/CS/PLT/Teaching/
http://www.cs.rice.edu/CS/PLT/packages/drscheme/
http://www.teach-scheme.org/ (doesn't seem to be working right now)
Starlogo is very cool, you might also want to look at the book Turtles, Termites, and Traffic Jams by Mitchel Resnick, the creator of StarLogo (in the book he talks about working with kids on StarLogo projects)
I don't even know Python, but I have read several things about using it as a teaching language:
Article at O'Reilly on Python as a first language
Computer Programming for Everybody - a proposal by Guido van Rossum
The Official Python Tutorial
Why Python? - by Eric S. Raymond
Learning to Program - uses Python
I hope this is helpful!!!
Whoa...that tosses me into the way back machine.
I think one of the coolest things you'll probably be able to show the kids is something they can go home, or wherever and show off.
You'll definitely want to show them some basic HTML, and set up some nice little webpages for them. (Hopefully you can shell out some cash to get a small domain hosted for the class, you don't want some nasty long-ass URL for all their efforts.)
Also, with some nice shareware copies of Paint Shop Pro, and a digital camera, you can show them some basic desktop publishing, and the HTML work should give them some word processor experience. (If they start putting text in AlTeRnAtInG caps, then beat them...with a nail bat.)
That should cover all the basics for your students who aren't really super interested in computing at least have a foundation in the computing fundamentals necessary to be at least a secretary, or an office assistant.
Depending on what the individual childs interest is, you can take the last half of the class dividing them up into sectioned learning. If they like to code/game, give them a look at Logo, Flash, and some world editors for popular games.
If they're looking like they're prolific writers, give them a chance to write about things they like, by taking them to sites where they can get read, like epinions.com, and have them write reviews of stuff they own, or some small editorials.
If they're artistic in nature, givem them a look at Photoshop, maybe even Premiere depending on how much you've got to spend.
Have them put it all together at the end in a sort of "comptuer quilt" on the web, and they can be really proud of what they've accomplished, and get a little taste of what's it's like to work as a development team. Social, team-building skills are sorely lacking in computer world anyway, might as well start from the ground up.
Of course, I've never taught before...I can't really say if any of this will work. But I strongly recommend the part where you beat the kids who type in altermating caps.
Netjak.com independent reviews of domestic & import video ga
That they are labelled "inner city" is irrelevant. I happen to know many elementary school children who test above average; they also lack the basic tools for any meaningful "computer instruction". If these inner city kids are exceptionally well-prepared, the camp might be useful, but I doubt it.
Nota bene: When I say they lack the basic tools, I mean the children lack a foundation to which "computer instruction" can be added. It's not their fault; the new method of math instruction doesn't teach them how to think.
I think I know more than a little about this topic. I serve on the Board of the PTA of my daughter's school. I'm the school's webmaster & give advice on technology issues. I think the kids waste far too much time in their computer lab. But it's not my job to set policy, so I keep my opinions to myself. I'm sure the other board members would very surprised to learn a technophile such as me feels this way. Clifford Stoll's High Tech Heretic expresses exactly how I feel. Here is a nice interview with Stoll.
2. Dynamically reallocate your curriculum to meet their interests.
2a. If they want to learn about music, then get into how the music they like is made. Get into what makes a drum machine work in the first place. Get into the fact that a drum machine is a little, limited-function computer.
2b. RoboRally - it's a board game. It's awesome for procedures.
2c. That robot wars show on comedy central, whatever it's called - get them into it. Then explain that you can build "logical" robots to control those, and get rid of the humans with the remote controls.
2d. Make sure they understand that people put all this stuff together, at least initially, and that it's not perfect... but that if they (the kids) have a problem with it, they can learn to do something else, and do it better. That they could get the 31337 5kl11z for themselves, that within the bounds of a computer, you're not as limited (in some ways, obviously) as you are in meatspace. Explain that it's possible to be a badass with a computer. Check out what Dr. Dre might have to say about digital information - if that's a relevent message.
Hope this isn't completely useless to you...
[|]
Ask them to list things you can do with a computer (or what they think you can do with one). Throw in a few examples of cool stuff like animation and games if they seem to be having trouble.
From there you can pick something to teach them, or even have them pick something they want to learn more about.
Participation is really the key. The more you can get them to participate, the more they will enjoy it and the more they will learn.
Keep them doing stuff. The busier they are the better. Lecture is what will kill the enthusiasm.
I was a math tutor for almost 3 years (mostly college level, some high school and younger kids) and believe me, if these tricks can for math, they can certainly work for something interesting, like computers.
Under capitalism man exploits man. Under communism it's the other way around.
I got totally hooked on computers playing a few nifty computer games and messing with basic on Commodore PET and Apple II computers ages ago.
Don't fall into the trap that the only useful computer experience is on the newest and best computers. Its often far better for young people to find out that they control the computer and should not be afraid of it. The biggest mistake I think parents make with computers is dropping $2000 on the computer and then they never let the kid do ANYTHING with it because they are so damn afaid of losing the $2000 investment. I can guarentee that my children will be starting out with an oldie 8bit computer and some interesting games the first second they show interest in computers. That way there is nothing that they can "break" and they will be free to do any experimentation that might interest them. Some of my best experiences came from when I did something that messed up the entire system (like changed lines in a file or deleted a file that was necessary) and then had to figure out how to make it work again. Fixing problems like that gives you confidence and control where as working with a more complex system can make you a slave to the interface and you never get past that.
"You can now flame me, I am full of love,"
I went to a techfair sponsored by a group of computer and media companies. The hit of the event was an area where kids could take fingerpaintings, drawings, etc. and scan them in to make webpages. Then post them to the Internet. You might try that one day.
Or if not ethics, teach them, "if you do this, you will go to jail faster than you can say 'all minorities are criminals'"! Because if even one of them misbehaves, you can kiss your job and that poor kid's future goodbye. If you don't believe me, just search through slashdot articles about how little kids get beat up over computer misbehavior, then think about what they would do to an inner city kid as opposed to a suburban kid.
Make sure it comes right after teaching them basic typing, basic Windows, history of the web, how to surf the web, how to set up and use email, netiquette, how to use a chat client (aim/jabber/trillian), and right before teaching them basic DOS commands, basic unix shell commands, html->lisp->scheme->python.
Peace,
Amit
ICQ 77863057
[o]_O
this is something really basic, but navigating the keyboard may be a major obstacle. I assume most of the kids probably don't know how to type. find out how many and spend some time focusing on keyboard input. and good luck to you!
Teach them how to play games...
And for those naturally interested... it will drive them to learn the rest themselves. It is what drove me to learn more about computers... setting up the sound cards, video cards..., resolving IRQ conflicts... and then eventually learning to install new hardware... and then of course programming and then computer engineering all that was driven by the urge to play games. And I plan to become a game developer soon.
For the rest who aren't interested in computers... teach them word processing (and how to type, etc), so at least they will have that skill when they go out to work.
Here here!
I learned my first snippit of programming on Logo back when I was 10 years old! It's quite easy for a kid to figure LOGO out, as it's based around BASIC-style instructions.
Plus, that turtle is cool.
-i
And, as you see, some of us have punctuation skills.
Ok, so the Diablo 2 channels on Battle.net are gonna be full of pre-pubescent losers trying to feel important..... But some of us are around. I, for example, am a freshman in high school.
Who's frequented Slashdot for 2 years. And reads K5.
In the internet, age doesn't matter.
Quote Voltaire, I don't care
You have been elected leader of the party!
You have died from pneumonia.
Wasn't that weird? Every time you got elected you died immediately afterwards...
Quote Voltaire, I don't care
I will bet dollars to doghnuts (Krispy Kreme if you can) that out of a class of 25, 3 might not know how to use the taskbar.
One MIGHT not know how to double-click.
Quote Voltaire, I don't care
An alligator is a tool?? What for? Umm, maybe I DON'T want to know... ;)
Just because it CAN be done, doesn't mean it should!
I teach IT to homeless people and 16 year olds.
One project which worked really well was doing
a powerpoint presentation about their favorite
popstar. It really easy to add special effects
and such and looks good.
Also, a lot of non-technical people are unaware that "computer" was originally the job description of a human -- women (mostly) who sat around doing trig to calculate artillery trajectories, or math for encryption, or whatever.
circa75.com
Geez, talk about a group of people being on the same track. It seems half the people want this person to start teaching the kids programming! What an awful, awful thing to do!
Teach the kids basic things. Keep if fun, interesting, and relaxed. Those that want to explore more will, and those that don't won't. Starting kids programming right away is like giving them a car: Before you have a kid even sit in the car you are going to have him build one? Doesn't make sense to me.
Everytime you look at porn a devil gets their horns.
just kidding... I'd suggest doing some hunting online and see what you can dig up with a little work on Google. While I'm sure that those of us here on /. have our technical chops, you really should be looking for a solid educational structure for your course. Good luck, let us know how it turns out
"If I wanted your input on my pet project, I'd stick my hand up your ass and use you like a sock-puppet." - Muse
I also volunteer time at a local school to teach computer literacy, mostly to kids and to seniors.
I always start with hardware:
This is a mouse. A mouse has two buttons...
Then Windows 9X interface:
This is the desktop. These are icons. This is the systray. This is the Start button, you use it to shut off your computer.
Then file management:
You save files here. You name them like this. You can do this with them.
Cut Copy and Paste. This is Microsoft Word.
Then ALL PROGRAMS ARE THE SAME:
This is the X button, this is restore this is minimize.
Then the internet:
This is a URL, a URL is decoded at a DNS server. I can put in a number or a name.
Right clicking does this...
Cut Copy and Paste to a Word document
Cut Copy and Paste to email.
This is email. This is an attachment. Be careful attachments can have viruses.
Then Bring it all together.
IN the middle of this we use PAINT to get mouse movement down, then whack a mole for the same purpose. Mavis Beacon Typing knock off.
Finally we talk about other types of computers, mostly Linux and Macintosh. I show them that and send them on their way.
The full course is 8 weeks.
Advanced courses include:
Comand prompts, bat files, Perl, HTML and ultimately creating a web page with some dancing baloney.
---
This
I also volunteer time at a local school to teach computer literacy, mostly to kids and to seniors.
I always start with hardware:
This is a mouse. A mouse has two buttons...
Then Windows 9X interface:
This is the desktop. These are icons. This is the systray. This is the Start button, you use it to shut off your computer.
Then file management:
You save files here. You name them like this. You can do this with them.
Cut Copy and Paste. This is Microsoft Word.
Then ALL PROGRAMS ARE THE SAME:
This is the X button, this is restore this is minimize.
Then the internet:
This is a URL, a URL is decoded at a DNS server. I can put in a number or a name.
Right clicking does this...
Cut Copy and Paste to a Word document
Cut Copy and Paste to email.
This is email. This is an attachment. Be careful attachments can have viruses.
Then Bring it all together.
IN the middle of this we use PAINT to get mouse movement down, then whack a mole for the same purpose. Mavis Beacon Typing knock off.
Finally we talk about other types of computers, mostly Linux and Macintosh. I show them that and send them on their way.
The full course is 8 weeks.
Advanced courses include:
Comand prompts, bat files, Perl, HTML and ultimately creating a web page with some dancing baloney.
---
This
Several companies that manage numerous computer camps have developed fun and effective curricula over the years. See, for example, iD Tech Camps and Cybercamps.
I also have a hard disk with no lid, so you can see that the disk is hard (and the floppy and the harddisk look alike in shape too).
If I'm feeling particularly brazen, I take a box of bits and put it all together in class and turn it on.
In our MultiMedia summer schools, we would do a show and tell of an application, then let the kids loose.
Things we did:
Infini-D (rendering, modelling)
PhotoShop
Sound Editing
Adobe Premiere
The final part of the summer school was a finished multi-media project. The class got split into teams, then each team did a plan, set about making the bits, then we would come along and help them glue it all together.
We used SuperCard as the authoring environment at the time, but you could use a web solution and put their work online afterwards.
|>>?
Making fun of an Ask Slashdot by suggesting the poster is too lazy to find the answers for himself: How Original.
Didn't you see "Finding Forrester"? :)
Don't let them touch the computers until they have at least a basic understanding of how they work. Make sure to emphasive that computers are "tools", like a gun, or an alligator. Thus, they can be dangerous. I'd say a good place to start is with the mathematical formulation of the transistor. Oh, wait you said *inner-city* kids. Perhaps you should start with bipolar transistors before jumping into complex FET behavior. That should cover the first day. If they are intelligent the rest of the computer should follow from there, but you'll need something to do so you might as well help them out in your free time. For the next 2 weeks work your way up from transistors to binary arithmetic and heading on to microproccessor design and archecture until you get to file caching and pre-emptive multi-tasking the last day. C programming is trivial and can be learned by reading K&R in the evenings. To make sure they've really understood this, I suggest taking their computers apart and having them reassemble them by themselves. You may want to provide a soldering iron. For extra fun, have them low-level format their hard drives with refrigerator magnets. Now that they know something about computers have them install Linux and network them together. Use the computers to serve pr0n and use the kiddies as cheap sysadmins. For the less intelligent students you may just want to install a turing machine emulator on a machine and have them write programs on it. I know that keeps me amused for hours.
Teach them to design and write a basic 3d shooter style game... that way, they'll keep interest in the project and have something they are proud of at the end of the course. You may want lay out guidelines about the guns (force them to use imaginative ray guns for example) so that the inner city liberal whinos don't get upset.
Constructing a game of this style will excercise different areas of computing... graphic design, 3d spatial relationships, math (trig), logic flow, and of course programming.
Skiers and Riders -- http://www.snowjournal.com
I work at a summer camp in Prince George, BC called Science Alliance (http://www.theexplorationplace.com -- yes, I know that our page is terrible, I am trying to change it. We are a not-for-profit organization after all. =] (free web design services are welcome!!) ). We offer science and technology related activities to youth around the city. Every year we deliver curriculum to about 400 kids... all of it original, and meant to be accessible to people from all backgrounds and of all social status. In addition to this, our camp is a member organization of actua. As such we are part of a community of 27 other camps like ours who service youth all across Canada. "Actua provides training, resources and support to a national network of 27 local organizations offering science and technology education programs. Actua Members reach over 200,000 youth per year. Please visit Actua on the web at planetactua.com." (Actua's self identification) For the past three years, I've been working to develop technology camps for the kids in my area, and I would be more than happy to help you out in any way possible. Please feel free to email me at: __holmesd@uvic.ca__ (take out the underscores). I have curriculum to fill 80+ hours of computer related activities. Another site that you might want to check is http://connectaction.ic.gc.ca/cc/web/website/engli sh/home.asp.
I recommend it for its curriculum guide and suggestions.
Karma whorin' since 1999
I think the best idea is to find out what the kids you are helping are into and help them advance in that. I remember being sent to a computer school in the summer when I was about nine years old. We spent weeks trying to learn LOGO. I can honestly say that it was one of the most boring experiences in my entire life.
The same method is also bad for newer technologies. IMO it would be a bad idea to push HTML on kids. They want to make web pages! As their skills improve they will start to learn these things without your help. You should be getting them to love technology (even if it's just playing games all summer). Not making anyone sit in the heat trying to make a stupid turtle go around a screen!
These moderators are smoking crack. That's the funniest thing I've seen all day.
As co-owner of a "successful" start-up company (we've survived the "IPO" bomb) in the field of computing education, I offer these suggestions based on my experience. The company I'm involved with was founded because my main partner and I met by co-teaching a class on general computer usage to teachers. Believe me...teachers are not nearly as receptive to new ideas as kids.
:) I don't know what specific areas of computing you are
hoping to teach, but if that is yet open-ended, I suggest teaching
general operating system usage. I hope (only because it seems to be the
most likely dominant OS for the next several years) that you have Windows
machines. But if not, I'd suggest concentrating on the concepts of
filesystems and their usage (through explorer or the available OS's
equivalent.) If a person understands how files are accessed, it gives
them the ability to more easily understand more complex concepts (such as
programming.)
:) Our materials are
focused on web programming, so they may not fit into the reasonable
learning curve that you've been given the time for. But if they do,
they're yours to use!
:) is to help
people to "learn how to learn how to use computers"...that is, we teach
people how to learn...although disguised in the form of courses.
In general, people only learn by doing. With the resources available, give your students the maximum amount of freedom that you can when using the equipment (don't be fraid of them "breaking" it...they won't...I've tried this
PLEASE FEEL FREE TO USE OUR INSTRUCTIONAL MATERIALS! There are free versions avaiable through www.usersource.com (www.useractive.com is our commercial website which offers certification using virtually the same materials - plus of course some proprietary ones
Thanks, and let me know if I can be of more help. Our overall goal (although of course to make money through larger businesses
Kendell
This company a friend of mine works for offers programming courses in HTML and Javascript - they get pretty advanced later on, but everything there is written by programmers for non-programmers.
I know they already work with several Boys and Girls Associations and school districts to bring computer learning into the classroom. Worth a look, anyway.
I think a lot of posters are expecting you to teach some sort of programming course; I would think that assumes quite a bit of the students prior to meeting them.
I would suggest as a baseline goal to foster familiarity with the computer first (how GUIs work, basic internet skills, general operability knowledge) and then go from there. Programming would be pretty difficult if they didn't have this.
Most importantly of all, I would strive to teach them enough about computers to learn more about them on their own after the class has ended. The course needn't be intensive or comprehensive; all you need to really do is to teach them enough such that they could decide if this kind of thing is "for them" or not.
Started with a 32K BBC "B" (6502 based, tape loading, disks were too pricey!)
Managed to teach myself assembly (after BASIC, the BBC had one of the best BASICs ever, IMHO). I couldn't believe it when my disassembler (written in ASM of course) actually worked. Never mind that I didn't have enough paper to print out the listing of the OS ROM!. One day I'll have to dig it out and see if I can find my proggy...
-- Sig Sig Sputnik
I actually took a class in high school where we did that. We had the entire semester to spec out, build, install, setup, and network our machines (we worked in pairs, the old pc's wer 486's and quite done by fall '97). We shifted between reviewing protocols/standards and working towards our end goal. After a few weeks, we were holding Quakefests and making some extra cash with our newfound skills. To sum up, it worked for us and I'm willing to bet will work for your kids. Then again, you could just start of with some pron and let it flow from there.
---------
Launch all sig
Actually I purchased it a year or two ago on cd when I found it in a store. I was disapointed that the feature that lets you write gravestones for the dead members of your party no longer is available. That was always the best when we'd name people in our party for people in our class and write gravestones about them and then other people would play and see them later. OK, we were like 8, it was entertaining then.
When I was in elementary school, we had Apple IIes, you booted off that 5 1/2" floppy and we had to learn how to type, and we got to play shit like Oregon Trail and Number Munchers. I remember manipulating that little turtle thingy too.
Wow... seriously old-school hehe.
The key to education is ensuring sufficient repetition to make concepts stick. Techniques range from drill, which makes kids unhappy, to games which are supposed to keep the kids coming back. In reality, kids seem to understand games pretty quickly, with boredom following soon after. I'd recommend teaching them to make animations, say with a GIF tool, and teach them to email them to each other. For an advanced topic, show them how to embed them in a web page. While this seems simple, never underestimate the amount of basic skills that a beginner lacks. This exercise puts people with little or no contact with computers through most of the activities they are likely to face with any software, plus it is open-ended. With these basic skills, kids can expand their expertise either in class or with software that they are likely to find on any computer that they find themselves using.
The book Mindstorms:Children Computers and Powerful Ideas by Seymour Papert, while somewhat dated (it was written in 1980), says a lot about teaching computers to children. Papert was a student of Jean Piaget who was a pioneer in developmental psychology. The Mindstorms software uses the Logo language and there is a bunch of Lego hardware being made for it now. It's cool stuff.
When I was a young'un, the best game was, uhhh.. ,welll, damm, I just can't remember any slide-rule games.
What's a sig?
Ah, I remember Oregon Trail. But to be more on topic, I suggest getting kids interesteed in computers. They can learn more on their own than you can teach them.
My joke got modded as Insightful and my insight got modded as Funny.
Mod this one up!
Mod point free since 2001
Read this article.
Some of the kids will be a lot sharper than you think. Be aware and prepared to rebuild a system or two if you go hands-on.
Don't go into heavy detail, remember the age group. See if you can hook your examples into something they might have had to do for class. The continuity will help overcome the fear of the 'new'.
Make it fun, but keep the fun constrained. I let the students play LAN games, but figured out that starting out with that would be real tough to reel in. If you'll have a LAN available, offer games as a wrap-up and reward.
If you have internet available, online scavenger hunts can be fun. Do your homework. They'll learn about using search engines, scanning for useful leads.. Supervise, else they'll find things you didn't expect them to.
Try to show a variety of uses for the technology. Graphics are always cool, especially animations. Music is a real good attention getter. They probably won't comprehend databases, and spreadsheets and word processing is a skill, not an interesting thing.
Explain saving information. Teach them about directories, and finding files, and openning them from applications vs from the Win Explorer. I'm constantly surprised at how many people don't grasp the concept of applications, folders, files...
Have them write a letter in something like Word.. Show them the basics - fonts and sizes, bold and italic, colored text.. Better yet, for that age group, let them make cards, flyers, something of interest that they can relate to. Supervise, lest you end up with 'gangsta props' and unpleasantness - these are teens and don't think much. Let them print things to take home.
Few will care, but run them through a spreadsheet. Show them some simple formulas, preferably within a familiar context. I used sale adverts... i.e. %20 off of whatever price is what?
Try to cram in some ethics, sideways if you have to. You're going to show them a powerful tool, and hopefully interest them enough that they will try to learn more on their own. Show them a little responsibility. Give each a diskette, and explain the importance of personal data and information.
The REAL jabber has the /. user id: 13196
The REAL jabber has the user id: 13196
What you do today will cost you a day of your life
Aah, yes...New Orelans. The city with at least two large signs in every one of its city buses that say, "DEPOSIT FARE IN FARE BOX, DO NOT GIVE FARE TO DRIVER".
would be able to pocket half of it as part of the demo.
+++ UGUCAUCGUAUUUCU
I set up a Linux box for a school's Intranet. The children are all under 13. They like email, and love chat. A Linux box accepting telnet connections and running Sendmail and talk provides hours of amusement. Not to mention an introduction to the GNU Unix-like environment and a proper multiuser OS. A quick way to set up login accounts en masse is the 'createusers' utility from http://www.lfsp.org/. I wrote it.
I would bet that most of the people reading /. learned about computers because they wanted to play games.
At least that's how I got started. Dad brought home the the blazing fat PC with 640K of memory and said "If you want to play games you figure it out yourself." I grabbed the DOS manual and started skimming.
Show them a few simple games and throw in the web and you have their interest. From there they will learn the basics. If they want to get more out of it they will have that basic knowledge to figure most things out for themselves. Of course having a resource (you) on hand to answer questions would certainly help things.
So keeping them interested without using MS' stuff? So, what, then? Sit them down in front of a command line? I know there's other easy to use stuff other than MS, but by saying 'no MS', you're severly limiting the software that they can play with.
Yeah, why bother with silly things like relevant job skills? So what should they learn? How to code device drivers?
give them a foundation to understand why we use an operating system, and what type of resources the computer makes available. What kind of of ports (usb firewire, ps2...) and how they fit together (instal a PCI card in a machine as a class or even build a system as a class.
Don't teach word processing, or spread sheets. that should be in a business class.
once you've built a system, install Linux as a class, and then try teaching them HTML. HTML is great because if you know the rules for how things should be formated, you can surf the web viewing source and learning more on your own.
when I was in school, we did programming in BASIC on apple II pc's. simple programs that add two numbers or find an average of a few numbers. That was years ago, and I think HTML would be a better choice today.
"The Most Fun Possible on 4 wheels" is at SunBuggy in Las Vegas
You should probably start with the basics of computing such as what the tv screen is called, what's inside and what it does (not pixie dust :)) After you've covered how it works, move on to the good stuff like OS's, software, and touch on how that works.
:)
Be sure to explain the whole story behind Bill Gates, Steve Jobs and the Woz (include some of his pranks to keep them interested). After you've told them about WHAT can be done with computers, show them how to do it in whatever way possible. As users above me have mentioned, LOGO would be a good start, but it really depends on what aspect of computers you are focusing on, be it the internet, text processing, whatever.
--
First teach how a microprocessor works. Transistors and stuff, but don't get too technical. Then teach enough about hardware so they will be able to go out and build computers on their own. Once they can build computers from parts and understand how each part of the computer works everything else becomes much easier.
After they learn about all the different parts of the computer, what they do, etc. Teach them about the BIOS and operating system. You only have to teach to the level where they understand how and what these things do, and how to install/setup/use them. Then teach them about software how it works, how it's written. Have them write hello world in C and stuff.
From there start talking about networking and the internet and all that stuff. Once you get to this point you can go on until the end of class teaching all about different parts of the net, different protocols, etc. How to make web pages, clients, servers, all that stuff.
That's really all anyone needs to know about computers. Hardware, software, network. Remember not to go into too much detail. Just explain very generally how things work, what they do, and how to use them. That's the main problem is that many people with computers learn simple procedures like click here, then click here. And how to accomplish tasks. If they learned about the different parts of their computer they would understand it a whole heck of a lot more.
The GeekNights podcast is going strong. Listen!
You have a golden opportunity to address many important needs. I would like to suggest some curriculum areas for you: 1. Teach about entrepreneurship, as in how business works, how you start a business, as well as the important operational aspects. If you can, try to do this for both for-profit and non-profit examples. Kids need to get some idea of how to create their own opportunities. 2. In computing,regardless of some of the biases of the typical slashdot reader, it is important that these kids have a grasp of written communication as facilitated by word processing, financial dynamics of business organizations as facilitated by spreadsheet use, and information management and analysis as facilitated by RDBMS. 3. Be sure you teach them about how to install, configure, and use open source operating systems, and explain why this is a more effective solution in their community. Show them how both new and old machines can be effectively used. 4. Teach them about programming in at least C and 2-3 other languages. Not all will be willing to do this, but it is important to make this a priority so it is at least an option. Too many community technology programs offer nothing like this, and thus prevent impoverished youth and adults from entering the computer field. 5. It is very important that they have a chance to learn about computer networking, to the point where they can install and configure a basic network of machines connected to a DSL or cable connection. Modems count here too. I would also want to help them appreciate security issues and how to deal with them. 6. Be sure to do something which addresses the artistic talents which many of your students may have. In the music arena in particular, you should make it possible for students to record their own music, and put out their own CDs for sale in their community. I hope you find these suggestions helpful.
Logo isn't exactly coding. It was pretty much invented to show that programming could be done by children.
Throw them a basketball and run.
I have taught for a summer with 6th graders. Definitely keep them busy with hands on experience. Show them what cool stuffs that other people have done, and let them go on do it themselves. A simple paint program can be lots of fun for them. My kids seem to enjoy creating Web pages with simple HTML. They can put what they draw in the paint program on their own web page; instant achievement for them. You can setup one of those free web pages for them to show off their works. I suggest you not let them get in on-line chats on their own. Have them gather around you and you be the one typing. Also suggest you not letting them give out full names on the internet; a chance to talk about privacy issue here. Don't underestimate them, you rather over prepared than scramble for materials in a rush. Be prepare to adopt them. Some kids learn faster than other, and they might all have different interests. Enjoy the experience yourself, and learn from them. Good Luck!
www.toontalk.com
toontalk
I am not affiliated with anyone at Animated Programs. My niece and nephew really liked it.
When i first started programming i was a kid and was looking for an easy way to learn how to program. I had worked with LogoWriter for a class and had gotten some idea of what it ment to program a computer but i soon realised that OOP was what i needed to learn. Of course at the time i had no clue what it ment. so i did the logical thing i went on aol and did a search for, "OOP programming language." I got one return, "ZZT-OOP" and thank god i did.
zzt is at its surface the worst looking game you have ever seen. you operate a happy face which can move around the board bump into objects and shoot them. it operates with a few simple variables like health, ammo, tourches, and gems.
The saving grace and what makes it great is the fact that it comes with ZZT-OOP, an object oriented programming language. the language uses simple versions of more complex ideas. the game works by simply creating an ASCII charicter to represent each programing object, you simply programm your charicters to interact with each other.
When, later in life, i finaly got my hands on C++ it was a breeze because i had already learned all about the structure of programming languages (without all of the core dumps and death loops).
what you'll need:
zzt - from borland software (now abandonware and free)
helper apps - there are a few people who have gone the extra mile and created music and animations which are alwase of greate use when sampled
the help file - the help file included in the editor includes the entire language and explinations in kiddie terms of what they do. print it out, it's only about eight pages and it will be referenced constantly.
To find these things just go http://www.zzt.org or any of a number of fan sites.
for the older kids, i would recommend you use a language OTHER then BASIC, for all things holy.
I recently got out of a BASIC class that was a requirement to go higher.. UGH.
It is the most boring shit ever. Maybe smalltalk as another post stated or python with some GUI.
Really.. everytime I see 'REM' now I get bad flashbacks of that class. I had a 95%+, so it was because of the language.
I agree with the points listed above. I remember taking a summer camp class in computers when I was 10, and remember learning a lot and having a good time.
As the post above points out, give time to explore. We were using Macs to create little paint pictures. It amazing how much you can learn about cut/paste, modality (which tool are you using?, what does the computer think you want to do?), and the memory buffer. As a contrast, my dad is very uncomfortable with computers because he is afraid of massively breaking his system and doesn't want to take the time to explore the functionality in the programs he uses. So to repeat give kids time to explore and allow them to make mistakes, so they'll see that computer crashes are routine and not the end of the world (also teaches the painful lesson of "save often").
In the summer school class we also used a Mac program called HyperCard which allowed us to get our hands dirty doing some simple programming after which we had slick little multimedia programs with animations, sound events, popup boxes, etc. Obviously this can then create a context for teaching linking/targeting and some basic programming/debugging concepts. I don't now if there is a similar program for Windows. You might think about letting the kids lose on a WYSIWYG web page builder. I bet they'd be really psyched if they could show their work to others on the internet.
I agree with what some of the people here are saying. Kids - inner-city kids especially - will be bored out of their minds with most computer operations that they don't percieve as relevant to their everyday lives, which is most everything, since few of them have access to a computer outside of school.
The only other way to get through to them is by making it fun. I learned LOGO in a "gifted education" class in elementary school. I loved it, but I'm a computer engineer; I know there were other people in the class that hated it. In elementary school, the only computer that was crowded was the one running Oregon Trail, as others have mentioned before me.
With the technology of games - even the simple ones at Pogo and Lycos - I would think you could teach the kids more than they would realize. Using simple online games would introduce the kids to a fun environment while providing a chaperone to keep the kids polite while communicating with other users. I'm not advocating censorship, but I'm certain suggesting that children be taught by more than an "Acceptable Use of Internet" form.
The number of hardcore computer geeks is growing, but we are still outnumbered by huge margins. Most of these kids will probably use databases, spreadsheets, word processors, or other everyday-corporate-America-type programs when they grow up. They'll learn that stuff later. I think the goal of an elementary computer education should be to provide a very basic skill set to every student, and remove any fear or prejudice they have against computers in general. They should just have fun.
So if A and A' are true...
zzzzzzzz...
I work at a compuer lab that focuses on teaching people computer skills in low-income areas. Kids and Seniors are our main audience and the approach for both of them is the same. Keep it simple. While the kids may have more fun with playing games and drawing, most need basic skills like typing, word processing, and the like. As mentioned above I would recommend explaining the basic structure of PC's and how they work without getting too detailed ( you will loose them ). Then move on to skills that they will need to implement daily in the classroom. If you do get lucky and have one or two that want more, start them off on basic networking, subnetting, and web building ( good for all of them really...let's them be creative and use some basic scripting skills. That will teach them some basic math skills, critical path thinking, and some basic concepts like proper flow, commenting, nesting and the like. Again, from experience I say, keep it simple. They are in elementary. None of them is going to want to re-compile a kernel or start coding in C++. Good Luck and Have fun!
I possibly wrote some of the code for it 30 years ago, depending on which of hundreds of versions was adapted to the apple. Then I got kicked out of college for not doing the classes... But the only way I could take the code away from that old mainframe was paper tape or a printout -- it's long gone, and I doubt it would do you much good if I had kept it.
Now if you can find a way to read TRS-80 Model I floppies (single-sided 90K), I had a version of Star Trek among other things on those. But if I can find them, probably the magnetic stuff has either fallen off or demagnetized...
Careful... today that kind of thing can probably get kids suspended or worse...l
http://www.theregister.co.uk/content/28/19436.htm
It is difficult to teach 'computers' as a discrete topic in elementary school because computers are tools and are best learned by applying them to relevant tasks. Games have some value in making students comfortable working with computers but can easily be overused. Word processing is best learned while writing something instead of in a vacuum. I am not a big fan of Web scavenger hunts; I think it is much better to learn the Web as a research tool. The trick is 'learning by doing': teaching computers gradually, on a need to know basis, by performing real tasks with them.
What and how much to teach depends on grade, and I never figured out which topics went where. What I do know is that software usability plays a huge role in raising or lowering the bar, which is why I have seen middle school students performing advanced scientific inquiry and college graduates who are incapable of creating a graph in Excel.
Now, i'm not suggesting that you make these kids do exclusively programming, but i trace my current interest in computers as a 22 year old college graduate back to when i was a second grader and had a chance to be a coder. Have them do at least something cool like that and maybe they'll be hooked for life.
Find the programs they did, call them up!
Most would be willing to share ideas and materials
Definitely arrange a weekly field trip to local University computing centers and local businesses.
Old age and treachery almost always overcome youth and skill.
Keep in mind that children are supposed to develop abstract thinking between the age of 10-14. This does not mean they're allready good at it!
Some people here stated is was racism to point out that these are kids from the "inner city". This is not true. You have to know the background of the children before you can decide what to do. Most parents in lower social classes have less time to help their children understand certain things, so you must do it in their place.
I think most of these children have never worked on a computer before and have not developed abstract thinking far enough. Computer languages (even logo) and spreadsheets, databases are therefore not what you want to teach. The beginning, where you must start, is learn them how to use a mouse and how to type. There are several fun programs for these tasks available.
If they can do that, you can start to use the internet and learn them to use a search engine and a webmail program. (Since they most likely will not have a computer at home, pop3 mail is useless.) However, focus on the things kids are interested in. Could be www.waltdisney.com or anything. The content is not the most important at this level, learning how to get there is what counts! (But be sure to bring enough ideas to keep them busy.)
If you have done all that, I guess the camp will be nearly finished.
KIDLINK is one of these projects that I can recommend, partly because I got involved in the project as a kid, and now, 11 years later, as a member of the worldwide technical staff.
The kids can communicate and participate in worldwide projects based on different pedagogical goals, by means of mailing lists, web, IRC, video phones and such.
I strongly suggest you consider that as an option.
Looks like a fish, drives like a fish, steers like a cow.
how many of these kids do you think have ever even used a computer?
these are inner city kids, not suburban yuppies....most probably have used computers, but not enough to know much about them
Young kids are quite fast, you know. when I was 8-10, I was going to a computer club where we would use logo and some computer-controlled lego. It was maybe one hour a week, but still we learned quite a few things
Tell them that computers are a means of violent destruction and death. Tell them that computers can help them keep track of where their stash of black tar heroin is going each week. Tell them that they can Klan's page with a Spike Lee one with only a little bit of time and effort. (Ok, ok, enough about the inner-city kid stereotype). :p
:)
Seriously though, it depends on how much prior knowledge these kids have. And assuming they all have little or none, you'll have to start with the basics.
You: This is a mouse...
Class: Ah....
BUT, since people seem to stick with what they learned first, if you're anti MS or something, start them on another OS. You can literally mold how these people think about computers for the rest of their lives, in that short amount of time.
Anyways, good luck, since teaching computer-related stuff to ANYONE is tough enough.
I agree completely. My experience volunteering at Raphael House, a family homeless shelter in San Francisco's Tenderloin district backs this up. "inner city" doesn't mean minority, black or white, it means chances are they don't have a lot of things may of us probably take for granted, like a computer at home, enough to eat every day, a chance to see a forest instead of scrawny trees growing up through holes in the sidewalk. I saw nothing racist about the original post. Saying "inner city" doesn't imply race or racism, it implies socio-economic background. The author has a legimate question; this thread should get back to answering it.
The youngest group I have taught are 9th graders (freshmen) with no real programming experience.
You didn't mention exactly what age as elementary can span from K to 8th grade.
I'll assume 5th to 8th grade.
Well LOGO is certainly the oldest, but here are few things that kids really love:
1. Karel++. You can do alot of simple to really complex things with this if you intend to teach programming at a young age. You can download this and materials for free. It's alot like Logo except in C++ style. I think even 5th graders could do some simple tasks on it. Basically kids order a robot around using member functions from a base class, but they can inherit the base class and add new functionality to the kids. I don't have the link, but just look for it on google.
2. Alice. Alice 3D world This is pretty cool if you have at least Pentium II's. It allows kids to write scripts for manipulating 3D objects and essentially making movies. The software is free and will even convert your movie into a cool pluggin for IE.
Look here to see some examples of Alice for my classroom:
Computer Science with Karel++
3. Webpage programming. Download netscape composer and teach a bit of web page design. Have them go to http://www.flamingtext.com and make cool logos for the pages. Teach the students to put in midi's or paste in DHTML from http://www.dynamicdrive.com
Hope this helps! Sounds like you'll have fun!
First. Keep it a hands-on experience. Borrow or steal computers, if neccesary. No new boxen are neccesary, anything that can process a language and make graphics is enough. (Graphics are important, kids love to draw). If you absoultely cannot do that, your task is much more difficult. Ah! Of course the language better interpreted.
Second. Forget the Internet. You will get only dissipation and noise. It's like teaching kids to watch TV. You can "teach" about the Internet, but don't let the little pests surf, or you are doomed. If you think it's important reserve it for last day before holidays or something like that.
Third. Keep it a hands-on experience. (Did I said that?). Bring hardware to class, open the hardware up and show the innards. Explain what is what and make sure all can have a look, touch the pieces, plug unplug a card, the works.
Fourth. Revise your basic knowledge of computing. You will find yourself confronted with all kind of simple questions difficult to answer simply. Like "What's the internet?", "What's the meaning of this MHz thing?", etc.
Fifth. Keep it simple. Life is complex, and computers too, but if you see that all the kids think that the WWW and Internet are the same thing, think very hard about how to explain the difference so that can be understood. Or even if it's worth it. Better say "We will speak about that next day" and think about a simple way of explaining it, like "E-mail is Internet, but not WWW". I remember myself saying many times "...er, but well, don't worry about it, that's not so important" to a wood of very open, very at-a-loss eyes.
You will find, if your class remotely resembles mine, a lot of difference between the most computer-savvy and the rest. The young hackers are going to be bored to death at times and will always interrupt you with corrections, or enthusiastic remarks. I have found no solution for it. If you have computers, throw'em one and challenge'em to do something, a program or something like that. That will keep them silent for a while.
Kids love doing things much more than to be explained things. A bit of background, of course, but then a little of programming so they can experiment.
If you have never teached, some general advices. Be very relaxed, kids detect nervousness before you know it. Sometimes the dinamics of the group will bypass you. Try to keep the control, but never show doubt. A bit of open noisy debate can let a little steam off, at times. That depends very much on the enviroment, so be sure to ask some old hands in the school about the usual problems in that environment, and the best strategies to overcome them. Follow their advice.
And last, if you have never teached, you are probably going to find it a very trying experience. You will probably have a couple of bad days at the beginning. It's a very stressing job. Don't be afraid of asking for help to other teachers, and specially at first, have a very clear script (with times and so) written, so you can look at it and know "what-next". And don't be a perfectionist (that relates with "keep-it-simple rule). You are not going to make so big a difference in the life of most of those kids, but you can make a small difference with some, and a very big with one or two.
Well, lots of luck, and don't be too afraid for what I just told. Teaching can be a very rewarding experience. :)
--
Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
That's exactly right. I remember changing the number of lives I had in Snakes, or whatever that QBasic game was and then changing the code in other games so I (player 1) would have an advantage over my dad (player 2). Also remember wowing my parents by "writing a song" in Basic. Man, I love that stuff. I wish I had the same enthusiasm today.
I think I'll stop here.
Don't mean to underestimate the kids, but most will be lost if you launch into Perl programming without hitting the Oregon Trail first.
I think I'll stop here.
Tell me, and I may forget
Show me, and I may remember
Involve me, and I will understand
That's something I've always tried to keep in mind when teaching, no matter what age group I'm dealing with.
Remember, kids are going to want to do stuff that looks cool. Looking through the other posts so far things like writing web pages (with Netscape Composer or something similiar), drawing pictures and creating animation scenes would be the kind of stuff they'd enjoy. LOGO was cool when I was young, but it wears thin fast (and computer graphics are much better now, so LOGO will seem lame to most kids).
Last but not least, be creative and it will pay off. Online treasure hunts (get them to find the websites about their favourite TV shows/movies, find wrestling fan sites, etc) are always fun too.
Help find a cure for cancer!
Smalltalk was designed for kids (it's syntax can be described on 2 pages), why not use it if you decide to program? Learning basic object oriented programming is probably easier than functional programming and scripts.
Help find a cure for cancer!
Teach them like you would any normal children. Trust me, I know, I worked in an inner city YMCA for years, setting up classes, taking trips, Director of summer day camps and after school programs. You just treat them with respect and don't talk to them like they are "poverty-stricken" and you will have a bunch of fun. Treat them like your giving them pity and your bound to fail.
m.kelley
www.mkelley.net
m.kelley
life is like a freeway, if you don't look you could miss it.
Because we're talking about eight-year-olds (or thereabouts). They have ten years to pick up "job relevant skills" before they finish high school. I would think the point of a summer computer class for grade school kids is to get them interested in computers and show them that computers are fun and easy to use. With that background, they'll have a much easier time picking up those job skills in junior high and high school. The worst thing you could do is give them the impression that computer-related jobs are dull and boring.
IF I HAD KNOWN IT WAS HARMLESS, I WOULD HAVE KILLED IT MYSELF.
Grade school kids need to explore possibilities for "what I want to be when I grow up," and a summer school computer class would be great for this. But they're never going to list the summer school class they took in fifth grade on their resumes. Jeez, give them a chance to be kids.
IF I HAD KNOWN IT WAS HARMLESS, I WOULD HAVE KILLED IT MYSELF.
When I was 10, my mom bought a Commodore 64 for my sister and me but she didn't give us any software. She (rightly) figured we'd learn a lot more about computers if we had to write everything ourselves. We quickly figured out how to program in BASIC from the user's manual and had lots of fun writing sprite animations and Mad Libs games. By the time we were old enough to need word processors or spreadsheets, we were comfortable enough with computers to figure out how to use those programs on our own.
IF I HAD KNOWN IT WAS HARMLESS, I WOULD HAVE KILLED IT MYSELF.
Gee... skip the advice from propellerheadz! If these kids show up they're likely to WANT to learn. Several years ago I volunteered to lead a Win98 class for 'disadvantaged/underemployed' adults in NYC and NONE of the students ever studied or reviewed any material outside of the classroom. The text provided ample self-teaching, but adults can be even more thick-headed than youngsters (or this brainy_but_clueless group of respondents). First step will be assessment of their knowledge and motives for attending. I despise the Evil Empire at least as much as most_slashdot_readers, but a solid foundation in a windoze OS will equip them for many future challenges (like an office job). Any of the "Illustrated" textbooks (Cue,Sams,etc) will be helpful to provide a read-along continuity for the basics you'll be teaching. To assimilate and prosper in a hi-tech world can be daunting for those comming from the unprivildged side of the digital divide. Even if they have some advanced skills there is much value in teaching the correct terminology for things like title_bars sys_tray tool_bar and the "standards" behind GUI and shortcut_keys. Knowing how to use them is less important at times than knowing what to call them and understanding how the puzzle-pieces are meant to fit together. Most "office workers" are similar to my sister: she has a 'functional' grasp of how to get things done... but cannot verbally explain the steps she uses because she doesn't know the nomenclature of the desktop environment. This foundation can prepare them to seek and provide help in an informed manner.
You should not be teaching inner city kids or any kids how to use a computer. Teach them how to READ, how to WRITE, and how to do MATH very well first. When they can do those they can get a book and read for themselves about how to program or use computers. If this approach is not done then what you actually take away from the education of the child and you get the stupid kids that High school and colleges are turning out today. College students these days are taking the same courses that 8th graders were taking in the 1930's.
video arcade, Nintendo/Saga/Sony, Game boy... are they not computer classes for kids ?
So why is it a good idea? Well for one thing, inner city kids are inevitably exposed to drug dealing. This game is about drug dealing. It teaches the basics of commerce and the dangers of dealing drugs by letting kids assume the role of the dealer. It can run on minimal hardware, and it's pretty fun. You can extend it too, so they can potentially learn how to hack on a relatively simple game.
I too played oregon trail, and for me at least, the only interesting thing about it was shooting the deer. This at least is in a context a little closer to home.
Just my 2 cents.
--
teach them binary, and hexadecimal. thinking logically is what computers are about...and you don't need a computer to work on that.
--how long till the operators are jailed for anime-induced pedophelia and
We have used StarLogo with kids as young as 4th grade, and it can work quite well with 6th grade and up if you will be working with these ages. The software is free from our web site but we also just published a book, Adventures in Modeling , that could be useful to you.
If you are looking to teach kids things they can do online that are "positive", while also helping them learn to interact with the computer better, see the list of suggestions for online mentors and youth, also by the VV Project. These are suggestions for activities for online adult mentors to engage in with youth, but they could be easily adapted to your own curriculum, without online mentors.
J Cravens http://www.coyotecommunications.com
Several years ago I worked with a recent Chinese immigrant in learning English and computers. We combined learning the basics (word processing, how web browsers and internet work, file managemnet, etc) with learning English. If you're working with new immigrants, then you will probably also have to make sure that you can teach them in a way that they understand. Don't under estimate their intelligence, just keep the language simple. They will then learn English as they learn about the computer (graphic oriented OS's are great that way).
Do yourself a favor and don't install ANY type of web browser. This year, I had a web design class in an inner city school, and the results of the full year of work were pathetic (as were those in Data Processing/Visual Basic). Here's ALL we did: - Copy HTML from book to SimpleText and view in browser - Dreamweaver BASICS (font/alignment/hyperlinks) - Fireworks (graphics) BASICS (basic tools/colors) - Flash BASICS (basic frame & layer manipulation/ fades/basic tweens) Do you want to know why so little was done? EVERYONE in the class would be on the internet. No exceptions. Some would be on newgrounds, candystand, streaming rap music on RealPlayer or checking their E-mail. If we did not have the internet, MOST if not ALL of the students that didn't want to do any work would have dropped out. But, it became more or less a free period. The internet can be a great tool, but install it only on a few select machines that you can monitor to assure work is being done.
If you're dealing with grade school kids, forget programming and some of the other technical lameness suggested by a few other posters. Having taught kids of varying ages I guarantee that if you take this path you'll a) meet with complete incomprehension by all but one or two of your students, and b) bore the hell out of them.
The point isn't to teach them programming, or spreadsheets, or word processors; or to fill their heads with all sorts of slashdot/linux propaganda. They won't care about any of this. Grasping the basic idea behind an operating system will strain them enough without subjecting them to the ordeal of listening to you lecture on why one OS is better than another.
The main thing is to hook them and keep them hooked, enough so that after the class ends they'll continue to learn on their own because computers are 'cool'. You can do this through two time-honored methods: neat graphics programs in which they can do fascinating things with a minimal amount of training; and games! Games games games! Did I mention games?
Many of the more anal will think that games are a waste of time, but in fact I've used these on numerous occasions to introduce the basics of computers and better still, to teach them that computers can be incredible toys. Once you do this they'll be eager to get *more* games, in the process learning how to obtain them, install them, debug them, and perhaps eventually hack them so they can waste their friends with a neat multiplayer cheat.
At this age getting them excited and keeping them excited is enough. If you make the class interesting they'll be eager to pick up more on their own after it's done.
Remember, to a kid (and to most adults) they're not interested in the *computers*, but what *the computers can do for them*. Very few grade schoolers find anything at all interesting in coding, hardware, or OS's. A perfectly acceptable viewpoint, in my opinion, and one you can easily capitalize on.
Chuck the boring stuff, go for the glitz. The glitz is the hook to get them into the boring stuff later on. Ignore the people who push for the dull and the political; these are the folks who make kids hate computer class with a passion.
Max
My god carries a hammer. Your god died nailed to a tree. Any questions?
Just another note:
Some folks have stated that network gaming doesn't teach kids jack. Depends on how you approach it. This is how I did it at a middle school (it *won't* work for grade school - they aren't up to it yet):
I had an open lab during lunches. That meant you could come in and do email, limited chat, web browsing and, yes, gaming. I'd help with anything anyone wanted to know - except gaming. My line:
"Sure you can play games, but I don't install or support 'em. You have to do that yourself."
In spite of the whining I stood my ground, and soon thereafter large numbers of young boys and girls were hard at work trying to figure out:
a) how to locate games and demos on the internet
b) how to download these games
c) how to find the bloody files they just downloaded
d) how to install the games
e) how to alter the parameters of the cranky, old Winbloze computers when they wouldn't run the games properly
f) how to play the same games across the network so they could have fun with their friends.
So what did this teach them?
a) how to locate files on the internet and download them.
b) how to unzip compressed files, which also involved locating and installing an uncompressing program (like Winzip). Along the way they came to understand *why* the file was compressed - so that it could be made smaller and thus downloaded faster, and that so all the files needed for the game could be downloaded at once. This knowledge, of course, applies to *any* downloaded file.
c) the directory structure of the average computer and how it's set up, as well as how to use the 'find file' function when you lose something (incredibly useful for all those papers they later worked on and often saved out to an unintended place - now they could find them on their own). Also how to use the file manager to move stuff around/copy it/ transfer it to the network so that their friends could get the file without having to download it as well (much to the consternation of IT, when 100 meg demos began appearing on the system).
d) how to run through an install and what to say when a shareware game or demo asks for specific information, and how to obtain that information (e.g., "what's IPX?").
e) how to fix a variety of things when the game wouldn't run properly because the equipment is old (resetting video resolution, adding DOS drivers for sound, etc.).
f) the basics of networking and how to fool the system into letting them really bog it down with things like multiplayer Diablo and and the like.
So, games don't teach kids things? Well, maybe not programming, but many *user-oriented* tasks are the same for other applications as they are for games. You'd be surprised how handy these skills came in during regular class activities later on, and the often creative uses these middle-schoolers put their knowledge to. Sometimes the application of what they learned was even close to appalling ("you did WHAT to the principal's account???"). But quite imaginative (grin).
Max
My god carries a hammer. Your god died nailed to a tree. Any questions?
because US government policies encourage urban decay in favor of suburban growth.
And it's subsidised by the taxpayers.
-Johnny 5000
The libertarian solution to the failures of capitalism is to apply more capitalism til the failures are fixed.
I tutored inner city kids before, in math and reading, and it was one on one, so my experience will be different from what you'll be doing, but I thought my experience was still worth sharing.
I was in high school at the time, the kids were in elementary school. I had 2 kids (not at the same time.)
One was a boy who I spent most of the time trying to keep his attention, and the rest of the time chasing him around the room to try to get him to sit down and work.
The other was a girl who seemed to be afraid of me because I was an older male 'authority' figure.
Kids usually like me, but I had a hell of a time with these two. A lot of the other people I knew who were tutoring kids were having similar problems.. though keep in mind that the reason these kids were in the tutoring program was because they had behavioral and other types of problems.
But, it's something to keep in mind.. In any class, especially elementary school.. and maybe more so because it's the inner city.. there will be some wild kids who might make it hard to teach others who want to learn.
Oh, and one time I got attacked and held at gunpoint outside the school (not by the elementary school kids, but some guys that were about 16 or so.. about my age at the time.)
So be careful of your own physical safety.
Not that I'm trying to scare you out of doing this.. i think it's a worthwhile cause. But, you should be prepared for some nasty possibilities.
Now, when I was being taught computers, I learned mostly on apple IIe and IIc.. Too bad they dont make computers like that anymore.. I mean, they werent powerful but they were great learning tools. I learned LOGO and Applesoft BASIC.
There were some great programs that taught about the internal workings of the computer (in a simplified way)
Depending on the ages of the kids.. if they're older you might want to try some simple programming.. even something like a hello world program can make a kid feel really good, like s/he accomplished something.
I guess if they're younger kids, educational games would be good... at least it would get them used to using computers.
The libertarian solution to the failures of capitalism is to apply more capitalism til the failures are fixed.
First of all good on you I hope you do well. Secondly, I think it's important to have a clear objective for the course you are going to teach. I tought English as a foreign language in eastern Europe and like you was almost total freedom to teach what I wanted. I think that whatever advice you are given on /. you should pick a few very simple goals. If you try too hard to teach a bit of everything you will not convince yourself (and others) that you really made a difference. That would be very sad since whatever you do simply sharing your enthusiasm really does count.
...realistically, you won't want to teach them the kind of stuff that /. readers are really interested in, especially not with inner-city kids. Sure, you'll get the odd guru who will lap up whatever programming languages you can throw at him/heer, but for the most part you'll want to teach wordprocessing, spreadsheets, and databases.
That said, try to offer something for the more geeky among them - I've been bored rigid through so many such classes...
43rd Law of Computing:
surplu sex change?
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
I dont know if this will qualify or not... 1985, I was graduating from college, and we were required to take a computer class. previous to that my only experience with a computer was a Texas Instruments 99/4A(?) with a cartridge. We were sat infront of the computer and taught lotus 123. we didnt learn anything about the computer itself, how it worked, why it worked, what else we could do with it, or anything else that would have made the experience enjoyable. needless to say I skimmed by with a D+ and vowed never to tough another computer. Now I would like to thank my friend who showed me several years later, on a Commodore, what could be done on a computer and how they worked... since that time, like many of you I have learned computer languages, installation & operation of various software packages & OSs, and built machines... if it wasnt for that horribly boring experience in 1985 I probably would have started much sooner...
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
you are correct, trying to teach them is no different, but chances are those in the inner city do not have a PC sitting in their home, whereas those in suburbia have a better chance to own one...
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
Many kids today are not into computer programming, especially languages like C++. What tends to work out well (What I've seen teachers do, I have worked in school computer labs) is making web pages, teaching how to use Word, etc.
If you do want to do programing stuff like JAVA applets tend to work well...
Also another idea is if you can find some old computers, many companies might have some, you can have the kids take them apart to learn how they work, and how to put the together.
No, I'm not saying kids should be told to be wary of "bad men" around every corner, but as another poster said, make the computer screen display "2 + 2 = 5"
We don't need a whole generation of people learning how to interact with others on the 'net the hard way.. by feeding the trolls and flaming away at anybody who disagrees only to feel alienated or embarassed later.
It really depends on what they already know about computers, you may want to get a general idea from thier teachers of how often they use computers and then just expand on the. Ie if the use the internet for checking thier Hotmail acounds try teaching them more constructive uses of the net, such as reading /. anyway I think you get the idea
Assuming these are going to be Windows machines, or Macs, I would start with getting around on the UI; where things are located, what things do, like the start button or apple menu/finder/chooser. Make sure they all get a chance to open all the directories, and then have them each write a text file, or Word file, save it, close the program, and open it, have them modify it. Use stuff they all know, like addresses, names of friends, etc.
If these kids a very young, I'd skip any speadsheets, databases. Stick with word. Then move to paint, and have 'em make that stuff.
Definitely include browsing the web, looking for stuff using search engines.
Once they've got the basics, then have them work in groups on a group project, like a web page that tells a story, or is about something the kids all like. Try to use a WYSIWIG editor, as writing all the tags may be too much. Show them how they can include all their drawings and stuff in the pages.
Games should be used sparingly, perhaps a Friday afternoon treat thing.
Avoid any serious programming. Young kids have short attention spans, and trying to get them to do Python or BASIC probably won't fly well. If they're older, and seem interested, I'd try more advanced HTML stuff and Javascript is a good one because it works inside the browser you can use the elements that they learn in HTML, so it's kind of a natural progression.
The system has failed you, don't fail yourself. --Billy Bragg
But what is proposed is the most boring idea I have heard for school children. You will quickly have to learn discipline and forget teaching them about computers. Instead, do some games as has been proposed and show them how to use a computer. They don't care how it works, just that it works.
First, teach them basic computer skills.
I would, in this order, teach them the following:
1. Basic keyboard/mouse skills
2. How to use the operating system
3. The Internet.
4. Various software packages (DB,word processing, etc.)
Keeping their attention will be the tough part, so if try to incorporate some digital video/pictures or educational games into the curriculum.
For instance, bring a digital camera/camcorder and take pictures of them. Set up email accounts for them and send the pictures to their accounts.
Those are just some of my suggestions.
-j
Thus you can get answers for all your question. - Ok, it needs some expertise in the art of understanding: empathy ;-)
He's a manic mailman so obviously he just wants to teach them how to shoot up their offices when they get fired
If you were to limit your scope to something like having each child design a web page over the course of the summer, you would probably be doing them more good than explaining how the bowels of a computer work. Show them that computers are machines that can help them express themselves creatively, rather than just a new spin on tv or a way to play video games. They've probably had plenty of exposure at that level already. During the course you could introduce them to a graphics package and a simple web composer. Figure out how much time you have to introduce other software like an animation package, or show them how initial text editing may be easier in a word processor/text editor. But have it all relate back to the idea of putting together the web page. Put the focus on creating rather than just consuming. Some students may become engaged in coming up with stories or personal histories for their pages, while others may become exited about expressing themselves artistically through computer graphics. Some may even want to explore animation or HTML, you never know. This way, though, each can find a meaningful hook in the class and will have something personally meaningful to show for their efforts at the end of the summer.
i've done a lot of work teaching tech to "at-risk" youth. from journalism to graphics to sysadmin to php programming this summer. email me and we can talk some more. depending on the level of the kids experience there's tons of stuff you can do with them. remember most hacker's start hacking at young ages. all they need is a computer (eMachine?) and an internet connection.
I suggest these from the perspective of my multi-level and multi-location teaching experience with math, science, languages, and technology.
here.
~ Ms.G {at} NoitacudE [dot]com "Turn it around..."
Ok here is my 2 cents. I have taught kids in cities, those with very little english, and the priveliged kids from the "burbs" Honestly I will take the city kids any day.
Spend a little time and get to know the kids. Ask them what they want to learn, you may be surprised that they will have some good ideas. Be prepared for kids to figure out new ways to do things, and to teach you in the process, it always happens because they are absolutely fearless. Also be prepared to spend some time at the end of each day cleaning up after them...
What you do will depend very much on the age of the kids, obviously you aren't going to teach 1st graders the same thing as 5th graders.
Teach them the names of everything you use (monitor, mouse, keyboard, floppy drive etc. as well as terminology - double click means push the button on the mouse 2 times before you move it.) This may sound dumb, but they will never admit that they don't know, and it will save you some hassle later on.
A good lesson has some objective: At the end of this class the kids will be able to ____. (Open, close and save without help) If you decide ahead of time what you want them to get out of it, it will help to keep you focused.
K-1 love to draw, teach them how to use a simple paint program (Kid Pix is really popular with schools) Show them how to flip and rotate, copy and paste, let them create. They will learn mouse control and have cool stuf to take home to mom and dad to show them what they made. You can put all their pictures in a Hypercard stack or in a Kid Pix Slide show. Think simple, many of these kids will never have seen a mouse. Stupid things like writing their name in 30 different fonts and sizes on a page are "so cool" to them, and again it is something to take home. They aren't really ready developmentally at this age to do any serious programming...
2-3 I have used Netscape Composer with kids this age and had them create their own web pages. This will even work if you don't have access to the net, and it is very engaging. Have them choose their own topic, create their own graphics and learn how to make links. Also more of the same above, anything visual is always good.
4-5 Now you are getting to the age where kids can learn some basic programming, LOGO is great, but so is any basic spreadsheet. Have them collect data, (it doesn't matter how goofy it is, what color shirts everyone is wearing, tie shoes or velcro?) and put it into a spreadsheet, graph the data. There are ton's of things you can do with a spreadsheet program and it is a skill that the kids can take with them.
Sad as it is, in order to survive in today's world kids need keyboarding skills. Don't think that you are dooming them to life as a secretary just because you teach them to word process, after all, how much typing do you do in a day?
You really don't have to worry about losing kids and having them be bored, just sitting at a keyboard is intriguing enough to keep most kids engaged for hours. I have had great success in really large classes pairing kids up at a computer. One at the keyboard, one as mentor. This keeps them both actively involved. Switch them about every 15 minutes. It also cuts down on the amount of time you spend running around fixing little problems, the kids will tend to talk to each other and figure out things on their own.
Sometimes it is good to just let them play. Kids need time just to experiment, and this is often a good way to find out what you need to teach them. (as long as you are willing to fix any problems that arise)
Hope this helps!
I didn't think of it as rascist at all... I thought he was emphasizing it so that the readers of /. might consider what resources these kids have, and their computer experiences. How is that rascist? Its a fact that kids living in our urban centers don't have what kids living in the higher income suburbs do, be they white, hispanic, black, asian, or martian! I'll bet that few children in that classroom will have a computer at home, no matter what their race or ethnic background - simply because their money situations at home won't allow it.
There wasn't a prejudiced comment in that post at all, you just jumped on 'inner city' and took that to mean 'too black'.
Anyone know if that game (Oregon Trail) is still available, preferrably as a C program that can compile on Linux? I'd *love* to play that again!
---
You must have a low opinion of kids to think they're only capable of THAT.
Teach an OS design course based on Tanenbaum's book. Then give them a copy of Linux 0.1.0 and tell them to add a virtual memory swapping system.
---
Get a salary printout from dice or computerjobs.
Oracle is the most valuable certification, but IBM DB2 certification is free until the end of September.
Oh, you weren't serious about teaching them something useful?
Agreed, but it cuts both ways. get someone who can barely read interested in books and before you know it they will be reading.
These kids are probably too young, but most 13 year old girls I know could quickly get into plundered hearts, and that is motivation to learn to read. there are other adventures good for young boys. (Despite efforts to rid the world of them, sterotypes still seem to hold)
Remember, if you make it interesting they will learn what they need to become good. If you make it boring they will learn to avoid computers. Most inner city kids are smart enough that they could know a lot more then they do if they would apply themselves. Come to think of it, most kids to learns as much as they can. Be alert for exceptions, but be sure to seperate the exceptions from those too lazy to learn.
PS: inner city kids may need an example of a person who has made it more then anything else. Many of these kids do not have a good adult example to look up to. Keep in touch with them, encourage them to make something of their life. There is nothing wrong with not liking comptuers, there is something wrong with not making something of your life when you can.
PPS: I agree with other posts that inner city is a bad term to use here, but it is all we have.
The guy running Linux Mentors teaches underpriveleged kids using donated 486s running Linux. He says that 11-year-olds were able to pick it up without any computer experience at all. He uses X applications to teach them how to use the mouse, GUI apps, etc. He said that some of the kids even went off on their own to learn the Linux command line.
Software sucks. Open Source sucks less.
Uhm, yeah, but make sure that they understand that they shouldn't go around deleting *random* files.. I showed my college-age friend gmc/linux and the first thing he tried to do was delete the dynamic linker... sheesh
A lot of your students will not have a computer of their own. You should probably heavily research where people can buy very inexpensive used computers in your city and present that material to your students.
You might find that you have a star student in your class. After the class is done, you could tell that star student that you'll make them a deal (if you are in a position to do that). You could give them a summer job mowing your lawn. If you pay them $20 each time, they could buy a machine from you for $100.
You can't help every child by yourself, but you can pick your most promising student and become a mentor to them.
If tits were wings it'd be flying around.
Unfortunately it requires associating with the Evil Empire (M$), ( Wouldn't work under WINE either last time I tried it a few months ago. It needs ActiveX but it's pretty good stuff none the less. )
Message for moderators:-
Please boost this up it's really good stuff!
There are a zillion sites on the subject of teaching computer science to kids. The net of a million lies might not be your friend, but it can be a valuable source of information.
Sick, but only too true.
-- Remember: Wherever you go, there you are!
Believe it or not, it's been my experience that kids that young, when plopped in front of a computer, become virtual vacuum cleaners of knowledge. They suck it all up...their minds are so open, and so curious, that they truly can accept a LOT of information.
In terms of applications, other than educational games, I'd look in the direction of maximum creativity. Hypercard's great, as would be any multimedia creation tools...
One project in particular that the kids LOVED was to create their own commercials using a mix of live-action shots and hypercard frames...that's pretty dependent on yer budget though.
(Although i'm not a professional educator, I have taught elementary school level computer classes at a summer camp and a local YMHA...)
hope this helps,
Slunk
You will get two types of students. Those checking it out to see what it's all about/mommy made them go, and those that are already into computers and asked their parents to go.
So, try to find something that a) may be seen daily/apply to everyday life for these kids, and b) is reasonably technical if they want to dig in.
Sending email by hand? The anatomy of an HTTP request?
I go with most of this post, but as someone who has had experience with this, I'd like to offer another suggestion. Schools usually get alot of old worthless computers. See if this school actually holds on to theirs. If they do, get a hold of them and stack them in your classroom. On the first day, let everyone know, "At the end of this class, you will build and take home your own computer."
Teach them about computers, and then let them put their own together. If the school does not have them, contact corporations in your area, etc. Also, check about unused Windows licenses for the computers, or else you'll be sending them home with Linux. (Corporations are a great source of these.)
The kids will stay more interested, and you can teach them skills they will actually be able to use. I first started doing this back in 1995, and one of my first students just got a job as a Unix admin.....
~Hammy
I teach computers at an elementary school (see URL above). I'm too tired right now to go into all the stuff we go into there, but probably their favorite activity that we do (in the upper-grades, 4th and 5th) is HTML. I teach them to create web pages using Notepad. Of course, this starts out with them getting used to the web first (I set up a 'portal' for the school, again see web site, and feel free to use it if you have net access there any find any of it to be of any use). This starts at the end of the first grade year or beginning of the second grade year, depending on reading levels of the students in each class.
:P
Whatever the case, I have a handout that I give the 4th and 5th graders that I created and it gives them directions to create 1) a simple web page, then 2) a still simple web page, then 3) their own web page from what they learned and what they find in the source of other web pages on the net of their choosing. I always have a problem with time constraints, but I am still always really impressed with what they come up with anyways. There are some examples of their work on the school web site (http://www.hbcsd.k12.ca.us/peterson). Unfortunately some of the better work got deleted by mistake, ironically by a teacher at the school and not a student.
I remember that feeling I had when my first writings went up on the web. It was... amazing somehow. You see that same feeling/connection happen in the kids when their work is uploaded and available for everyone to see. Not only does the web make more sense to them through the process, but they become a part of it instead of just another spectator. Some of the students that really liked it would go home or to the library and practice. A couple of them were learning Javascript on their own by the end of the year last year. Maybe not the best start towards programming, but better than nothing I suppose.
I also have students do stuff in Word (starting gr. 1), Power Point (gr2+) and Excel (gr. 2-3+) (hey, its what's available). They really like Excel - I have them do surveys and grade books using the formulas from the beginning. Web scavanger hunts are fun too, from the portal search page usually. For younger ages, graphics programs are good for mouse control and teaching copy/paste and that sort of thing. If you're on Win32 even just Paint goes a long ways. Then for the upper-grades, teaching them basic networking is always good too. How your browser loads a site from a server across the world thru routers etc. I even use traceroute and ping with the fifth graders so they can see how many hops it takes to get to their favorite web site and that sort of thing.
I think the key to the whole thing is to lead them to discover things; they don't enjoy learning the stuff nearly as much when they're told about them as when they feel like they're the first to discover it. Then they learn other things along the way and remember what they learned. It's really a shame that more teachers don't remember that.
I'm really rambling but I hope I gave you at least a few remote ideas. Good luck, and be sure to have a look at our school web site. My e-mail address is the only one on there - feel free to use it. Hopefully my respose will be a little more coherant than this one.
--SONET
Any fool can criticize, condemn and complain and most fools do. --Benjamin Franklin
I once, at a camp, had students making web pages. They were told some ways to find information, one was to try www.whatever-youre-looking-for.com. One student was making his site on Friends (the sitcom). At the time www.friends.com was hardcore porn.
Now, we had warned them about looking at "inappropriate" web sites and how we were going to send them back to their parents and tell them why. So the kid freaked. One of the less knowledgable counsellors arrived on the scene first and also freaked.
One of the funniest memories of my life is watching a counsellor cover the screen with his body, yell for me, keep other kids from coming over and try to calm the kid down at the same time.
You just don't get that kind of fun in an office.
Greg
Squeak is based around a very portable and graphical Smalltalk environment. Squeak is GPL'd and available for a wide variety of platforms including MAC, Windows, and Linux.
Here's a quote about Squeak stolen from the squeakland.org web site:
Squeak Is An Idea Processor For Children Of All Ages! ... an instrument whose music is ideas ...
We all know what a word processor is, but what is an idea processor? Of course, we can play with some ideas and express them in a word processor, but a lot of important ideas need more, for example: art, music, math and science. And some of these ideas really need a "dynamic medium for creative thought": music, animation, and many areas of science.
Squeak aims to have "no threshold", in that many five year olds can explore ideas in it; and "no ceiling": its range includes all of the things that can be done with computers. When five year olds learn English, they are starting to learn the language of Shakespeare and Feynman. Their journey through the next decade will enrich their vocabulary, ideas about people and the world, and give them stronger ways to structure ideas in language. In a similar fashion, the language learned by the five year olds to do simple projects in Squeak is also the language used by the experts to make 3D graphics engines and get things to happen on the Internet.
All the projects done in Squeak are directly transmittable to others over the Internet. Users can chat (by text or voice), send and receive email, exchange objects by dragging and dropping, and multiple users can share a project to interact in real time. Each time a project is created there is an opportunity to set up a new interest group that can provide mutual assitance and kudos.
Here are some links about using Squeak in education.
http://www.squeakland.org http://coweb.cc.gatech.edu:8888/squeakbook/uploadWhich you are not. Computers are not as much a part of our lives as reading, writing, and arithmetic. Try this and then come back and talk to me.
Now, to the poster. Don't hurt yourself. Don't hurt them. You aren't a teacher, and don't know how to be one. So at least be a babysitter for a while. With the limited amount of time you have, there are only two possible goals to shoot for, depending on the kids in the class.
If the kids are scared of computers, a familiarity and comfort level with them is not bad after a few weeks. Playing solitaire, hitting a few sites.
If they are comfortable, best thing to do is teach 'em how to use the net. sorry, but any form of programming (even logo, and other languages that will give results quickly) is a waste of time. This is the old viewpoint that computer users also had to be computer mechanics. Doesn't wash in this day and age. They'll get just as much from learning WordPad as learning the same basic functions in Word. (and don't even think of giving them emacs. They'll definately never touch a 'puter again, and that's coming from someone who likes emacs)
You have no idea what you are going to get from the students. Some may be geniuses, others not. Aim for the least common denominator, and give some free reign to the ones who have a clue. Resign yourself to reinstallations. No big deal.
But if you get a kid who can't read or doesn't know his multiplication tables up to 10x10, don't waste his time or your time. He'd be much better off learning those than dicking around playing Doom.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
Have them write down instructions for making a peanut butter and jelly sandwich. You then follow these directions exactly, as a computer would. Likely to get a laugh out of them when you start spreading the peanut butter on the bread without taking it out of the bag first.
This teaches the fundamental rule in computers - they "do what they're told." exactly. without interpretation.
Food for thought.. (Pun intended)
I've personally mentored several kids from late grade school to high school seniors. Here are some things I've learned:
1) Be careful not to overestimate the understanding of your students. Over the years, certain computer concepts have become second nature to me, but most average students have a really hard time with them. I'm talking about things like if-then statements, functions, and loops. If you want to teach programming concepts, try to keep it extremely simple.
2) A lot of people seem to really grasp on to the concepts of customization, paramaterization, and formatting. That is why a formatting language like HTML is so readily picked up and embraced. On those lines I might suggest POVRAY or MIT's LOGO programming language as something to consider.
3) The more you can incorperate graphics into your presentation, the more it will captivate your audience. Digital manipulation of video and audio can keep kids busy for hours.
Take it from Guido:
l d0 01.htm
i ng s/papers/elkner/pyYHS.html
http://www.python.org/doc/essays/ppt/acm-cp4e/s
Python is a good way to introduce non-programmers to programming in general. From Python you can realistically branch into simple C [I wouldn't recommend C++].
This is currently taking place in high school comp sci classes
http://www.python.org/workshops/2000-01/proceed
Steve Wozniak has been teaching children computer science for quite some time now. If you can get in touch with him [I have no idea how to do so], he would most likely give some very valuable pointers.
First of all, that may be all the student contact time you have, and that may even be all you get paid for, but you're probably in for a hell of a lot more than 6 hours a week to get this program off the ground.
I've had to "teach" inner city youth in a summer camp, and I helped teach a high school AP computer science class. The 2 experiences were totally seperate, however.
The reason I put teaching in quotes for the summer camp is that the program I participated in was VERY poorly organized. I signed on to teach creative arts to the kids, but in the end, all they really wanted was a playground supervisor. So, step one, make sure you get a realistic idea of what you're expected to do. In the end, it turned out that it was okay I didn't have to do any teaching, because the times I did, it was a disaster.
I think it depends a lot on age, but many kids, particularly inner city ones, have become disillusioned (or worse) towards school by the time they're in 5th or 6th grade. You have an uphill battle ahead of you getting these kids to even respect your program. You must make it pertainent to their lives. You can't, for one thing, dive into coding, assuming everyone will think it's interesting. Depending on the general experience level, you might very well end up showing the kids how to browse the web and not much else.
Over all, I'd say be ready for anything, and don't get discouraged when your first effort goes down in flames. Make honest assessments every single day, and be flexible and willing to do whatever the kids seem interested in.
---
Install mIRC, and direct them to the #hax0r, #7337, and #teensex channels so they can learn to be annoying, whining, script kiddies like all of the other lame ass kids surfing the 'net today.....
I'm not bitter.....
Feed the need: Digitaladdiction.net
What is it that computers do? They follow instructions, fast, effecitvely, and literally. Instructions that are difficult to write - that is why we have highly paid professionals to write them - and that can go wrong. When they do go wrong, they do so fast, effectively, and literally.
Think of your classroom. Not necessarly the middle of it, but the fringes. You should be able to give something to the top 10% and the bottom 10% - at every lesson. If you get those 20% interested, the rest will follow without problems!
Most of all, do not teach practice, teach theory. For there is nothing as practical as a good theory!
Do not make the same mistake as the students are supposed to make - do not aim at the next test, or the yearly grades. Try to find something those kids will find valuable in ten years - and still be interesting today.
If I only had two teachers who grasped half of all this... May your students fare better than me...
In Murphy We Turst
Seth
$5 / month hosted VPS on linux = awesome!
We've all heard somebody say they got 1 GHz of RAM and a 20 GB of memory.
:(
I wish I had 20 GB of memory running at bus speed of 1 GHz...
"`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
machine lies
Sin
"`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
You realize of course that most of the these people have no idea that "Ninth Ward" == "Inner City" right? :-) Where's your dad the Principle? I used to teach at Colton Middle before I started sys admining. As I recall they had a small computer lab, but it was just going in when I left. BTW: Ain't this eather fun.
As to the question at hand, a bit more information would be useful. Elemntry school covers a lot of maturity levels. For fifth and sixth graders (I used to teach sixth grade) I might get a little more in depth than the previous poster suggests. I found that most of my students, while they hadtrouble with basic skills like reading and basic mathematics, they were also often frustrated by a system that associated their lack of skills with being stupid. They aren't stupid, and books made for second graders (while they fit the reading level of some of them) just don't interest them. The other problem with teaching inner city kids is their VERY diverse levels of education. I had kids who were average to above average sitting next to kids that couldn't read. Alot has to do with the motivation and parental support that each kid has individually. Even if you know a class is, say, fifth graders, you are likely to have math and reading levels from the first to the sixth grade levels. Be sure to plan for this. The more advanced children will be VERY bored by the things that the less advanced ones won't understand. Your best bet may be groups, but that has the diadvantage of putting all the slower kids together, with no help from the more advanced ones. A better option might be a "mentor" type deal, but sometimes the kids that need help resent the helper. I can't really say with out seeing the dynamic of your class, but all these are options
I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
A favorite exercise, for early on: Make the computer display or print
2 + 2 = 5
Maybe not necessary, but every computer course ought to go near the issue of how the machine lies.
Henry Troup
My .sig is in the .shop
A good teacher will get at least some of those who start out refusing to learn to end up wanting to learn.
Just because it CAN be done, doesn't mean it should!
HTML easy?! Even Slashdot gets it wrong! The home page http://www.slashdot.org/ has some very SERIOUS HTML coding errors:
;)
;).
Like this little gem (as of this post) right in the main navigation area (!):
<A href=/code.shtml>code</A>
An unquoted attribute (not XHTML compliant), actually an unquoted non-numeric attribute (very bad, always), and non-XHTML compliant uppercase tags. Surely a GEEK site should get this right by now...
So if you can get these kids to code correct HTML, have them make extra money this summer working to fix Slashdot
Try validating sites with validator.w3.org and see how FEW pass! See how many big name commercial sites have SERIOUS errors.
As for Java, it is very slow, NOT truly cross platform, and just restrictive and anal to try to program in.
As for teaching MAC addresses versus IP addresses, even most IT people don't even know the difference (I kid you not!).
These are ELEMENTARY SCHOOL KIDS, not TCP/IP gurus (yet
Just because it CAN be done, doesn't mean it should!
It is interesting to see how what they do in her class deviates from what I learned about computers in elementary (I am 26 now). I learned LOGO and BASIC on an Apple ][. In my mother's class, they are learning how to use a computer as a tool for their other work. They use Powerpoint to do presentations for their science project, and Word to write their paragraphs. IMO, the kids in my mother's class are probably getting a better taste of getting comfortable using a computer for tasks they can apply to any path they choose to take than the kids in my class 'back in the day'. *insert creaking rocking chair*
Tangent -- I will agree that it is good to teach some programming skills early on to kids who might be interested in it, but in general I feel it is probably best to hold off on that until they are a little older and can get more out of it. I know that I didn't get much out of BASIC and LOGO and only started really getting into programming when I learned Pascal later on. That may of course be because I had a Commodore 64 and the games were all so cool I didn't want to waste my time trying to write some little dinky BASIC program.
Check out Sun Micro's Open Gateways program. It is primarily a grant program, but they also post suggested lesson plans, and training materials for teachers. It could be a start anyway. Keep in mind, you may need to start very basic, like mouse and kb skills, for some of the kids.
Whatever you decide to do, try to run your ideas by the students teacher(s) first. The teachers will know better than anyone what holds these students interest and what does not. They'll be able to tell you whether you need lots of pretty pictures/graphics, or can delve into some more advanced, less flashy topics.
Sit them all in front of a linux prompt (no X, just a prompt).
After about 30 minutes of them staring at the screen, yell something like "Well? Do something!"
Honestly, I'd take apart a computer in front of them and show them the parts, and use good analogies to explain how everything works. Watch "The Magic Schoolbus" when they dealt with computers. They had some good analogies.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
Each week should make them familiar with some aspect of computers, with some practical info
something like:
week 1 basic ideas of computing. calculations. relationships of bytes to character to dots on your screen, etc.
week 2 computer insides. Open one up. see what happens if you disconnect somesomething. (error messages etc)
week 3: basic Concepts of OSen [guis, command lines, etc.]
week 4 basic concepts of word processors
week 5 basic concepts of spread sheets
week 6 basic concepts of databases
week 7 basics of games and networks
week 8 basics of programming and loose ends - how to learn more
make sure as you go along that you cover the things that make people truly clueless. Like how to follow directions, etc.
Make sure you give lots of practical details. (what to do when the computer catches on fire, etc) and what is wrong about computers you see in movies, etc.
Check out the Vinny the Vampire comic strip
"It is a greater offense to steal men's labor, than their clothes"
When I started working I got a job as a teacher. I was teaching ATARI LOGO to kids on elementary school, and let me tell you two things:
If you have no experience dealing with children you will go crazy at the end of the first week. Treating children is not an easy task, you have to gain their trust and their confidence. At the same time you have to keep them under your control, and the only quiet, calm children are those who are sick.
On the other hand LOGO was real great to keep children interested. I showed them great games written on LOGO and promised them that if they behaved and paid attention they would learn to make their own games. That make them interested enough to be quiet (most of the time)
Kilroy was here!
We all remember using EDU the turtle on the old Apple computers. There are pay-versions of LOGO still out there. But, you can also get it for free. Some links for ya:
Turtle Tracks - A Java version released under the GPL. Requires a Java 1.1-compliant virtual machine.
MSWLogo - A windows-only version. The source is available, but I'm not sure what license it is released under.
Other logo software - This list, at the Logo Foundation's website lists commercial and free versions of logo.
rLogo - An online in-the-browser logo interpreter.
Portable versions of Firefox, GIMP, LibreOffice, etc
I did this back in my high school days. It wasn't kids, it was adults, but the same ideas apply. You need to go over the basics. Don't get overly technical, but get started on some of the jargon like RAM vs. HD. The thing that keeps most adults from getting a clue is that they hear a term and associate it with the wrong thing. We've all heard somebody say they got 1 GHz of RAM and a 20 GB of memory.
After filling them in on the terminology, go over the wide variety of uses for a computer, from things like databases, to complex calculations to games and the internet. It's best to give a wide variety of examples and show them that computers in general are not as limited as what most kids have as far as applications on their home computers. Using examples like the movie Toy Story for animation would be good to, so that they can associate with something they've most likely seen.
Then get into explaining a certain OS and some of the mundane things.
When I was still in university, our engineering department ran a summer Eng. camp for kids in both elementary and high school. While the primary focus was on engineering techniques & process in general (you know, building popscicle stick bridges etc.), there were some dedicated courses we ran on computing.
For the elementary school kids, we didn't try to overwhelm them with technical details - we found that starting with some webpage making, following up with some basic JavaScript was sufficient. We also started further back with an introduction to proper typing. The kids at this point didn't seem too interested in programming per se. Rather were more interested in how to *use* a computer - surf the web, use Windows, how to use Word to type a letter to Grandma etc., how to use PhotoShop to create cool graphics for their webpages.
The high school kids were a bit easier. All of them had had exposure to computers - they wanted to know C, C++ and Java. While game programming would have been nice, none of them had the necessary math background required for graphics (well, 3D graphics anyway.) Noone expressed much interest in knowing how to use Excel (whats the point, when do you use a spreadsheet in high school?) or MSAccess.
So we kept the programming exercises pretty simple. Essentially we asked each team what they wanted to do and helped them out as best as we could. One team came up with a pretty slick text based RPG a la Zork (You see a grue. Eat grue. The grue eats you. End.)
Also, don't forget the power of the Hello-World program. Nothing's cooler then seeing that first *anything*, that you programmed yourself... so it doesn't have to be fancy.
Give a man a fish and he will eat for a day.
Give a man a fish and he will eat for a day.
Teach him to eat and he will fish forever.
Those are just some questions to get started. While the general curriculum might be independent of the class size, age group, computer hardware available, and time spent in lab vs. in other parts of camp, the thousand details of just how you will run the course can be very dependent on those issues.
Get the best information you can about what's been done before and what the situation will be for your camp, to help you prepare.
Hope it goes well -- this could be a lot of fun and extremely rewarding (for you and the kids).
-----
D. Fischer
ShoutingMan.com
The key words in the above line are "teaching" and "elementary school kids." For starters, kids don't have long attention spans, so whatever you come up with, try and keep the "ooh-wow" factor up there. This probably means discussing the finer points of the GPL probably isn't going to make it.
Your lesson will inevitably depend on their background. Are you going to need to teach them how to interact with a computer? Maybe. Demonstrate how to use a mouse (the little Java/Javscript game in which one tries to click on the button that moves onmouseover comes to mind).
Showcase some of the strengths of computers--speed and accuracy, for one, and availability of information. Keep your demonstrations brief and highly interactive or you'll lose people. Maybe have the kids add 10 numbers as fast as they can and time them. Then let a computer do it. See who wins...Talk about the Internet, and show them some flashy (or even Flash-y) things (like /.!). Maybe coordinate with a friend and show them email and maybe instant messaging. Depending on the resources you have at your disposal, teach them to email each other. Show them how big the Internet is. Visit sites from around the world and describe what's happening (the Internet is Big. The Internet is Fast. Big and Fast are Good when one is in fourth grade).
A developer from Dragon once impressed a college CS lecture with a NaturallySpeaking demo just before it was released. I'd be fairly impressed by speech recognition software if I were a fourth grader. Something to think about.
Show them different kinds of computers if possible (calculator, Palm, laptop, desktop) and let them come up with other places that one finds computers. Have them talk about where they'd *like* to find computers, or what they wish computers would do.
My examples are primarily of the lame "off-the-top-of-my-head" variety, but I think that the overriding advice is sound. Keep it interactive, and always have something for the kids' hands to be doing (even if it is just raising them to shout out answers). Keep their attention, and you'll have success teaching computers or anything else. -db
Be sure to teach them about computers and how they work, not just how to use specific pieces of software. Despite the fact that they're from the inner city, I'm sure they'll be told how to search the web or format Word documents thousands of times by the time they leave high school. Instead, try demonstrating how software is written and executed, or how files are downloaded from the internet or something. It wouldn't be good for their knowledge to be worthless as soon as the next version of Netscape or Windows is released.
pi = 3.141592653589793helpimtrappedinauniversefactory7
I was responsible for several students at a local K-5 school during a summer program which was a citywide initiative by the mayor and included sports, arts, etc. It wasn't inner city, but middle-class.
I was teaching a general class about computers, a band of over 25 teachers and others who didn't have any idea of what to do besides sit the kids in front of a bunch of Macs and have them click blindly. (Memories of my own days going to 'computer class' where you would sit while the teacher talked to the librarian flashed into mind).
I would suggest you go the route others have mentioned with LOGO. It's an excellent learning environment, especially for higher thinking. Most kids don't realize there is a process for everything we do, and when they do (usually in a sudden epiphany while learning Algebra years later) it's too late to build upon in their early years.
You should also expect to have some students not interested in anything at all. Some of the kids I had, for example, were being forced by their parents into this 'free' summer program as a solution to daycare. I can only imagine what inner city parents might do to get their kids a free babysitter (my experience was from dual income $50k+ parents). Anyway, there were a few kids, especially two little girls who refused to do anything and wanted to play with a bag of toys their mother had dropped off. Several of the kids were only in the program because the sports and arts programs had filled up. You should be prepared for kids like this, and remember not to take it personally. Try to isolate them from the other children to avoid their influence on the group (e.g. "This isn't school, I don't have to do it, and I want to play."). Kids can cause chaos just a well as rioting adults can, and you don't want 24 kids running around throwing paper, eating gum from under the table, kicking each other, and crying in the corner.
Sound like the voice of experience?
I don't want to dampen your optimism, however. In my case I wasn't using LOGO but was teaching internet browsing basics. I thought I would start the kids off at some of the well known kid hangouts, etc. such as pokemon.com, foxkids.com, back street boys, etc. This ended up working well and many kids said they would go to the public library to use computers or ask their parents if they could learn more about using their home computer, which, for many, was most interestingly off limits.
But you should remember you are no teacher and that those in the field go through just as much behavoiral traning as that in academics. Especially with young kids, some of the methods aren't immediatly obvious because we haven't been kids for at least a little while and once you go logic/adult you never go back.
So be prepared, and be flashy: teenagers have trouble sitting through a lecture, and you expect kids to? Identify those interested and those not, maintain control at ALL COSTS, and be prepared for night-flying parents with the $120/week daycare payment in mind...
Also remember to keep in mind that your main goal isn't to teach a computer science class, but get disadvatged kids interested in something which is certain to bring them out of poverty. You want them to leave with a "all the possibilities" and some grasp of just how important computers and how big they are. Little kids especially can't understand large differences, for example a thousand and a million are about the same to a 1st grader. Try to make them understand computers are much larger than any known number and that if anything is possible using computers. Some kids may like the fact that you can tell a computer to do whatever you want and it will always obey like a perfect-best friend (for an 8 year old, that is). You want to impact these kids that they go home and are excited about coming back and begin to look at the world differently.
"I'll just chip in a bit for RedHat: I actually have that installed on my university machine." - Linus, '95
When I was a teenager I taught an astronomy class at a Scout camp one summer. It wasn't the easiest subject to teach (especially during the day) and most kids were interested in getting some requirements fulfilled and getting on to rifle or archery class.
My first mistake was opening the class with "There are 2 types of telescopes we'll be working with. Let's talk about the differences."
At that point, I knew I had already lost them and I was beginning to flounder. Immediately, one of the teachers who was there as back-up stepped up and said "Who wants to grab a telescope and spy on some of their friends in the boring classes?!!"
I came to the quick realization that we could teach the kids everything they needed to know without boring them with details. Show them what's really interesting about the subject and let them ask you the details. One of the kids asked me later which telescope would be better for spying and I was able to explain the differences with complete attention from the class... and without sounding like I was lecturing.
With younger kids especially, the teaching style has a lot more influence than the subject matter. Make it sound fun and the kids will like it no matter what the curriculum.
Must...kill..all...deer.
Your daughter, Jamie, has just died from typhoid fever.
You try to ford the river.
12 horses and 42 of your children have died.
Do you want to buy more bullets? (Y/N)
God, I loved that game.
Brant
Brant
Argle. Bargle.
It sounds like you are the one who has the prejudice. He never mentioned anything about these kids being different, you brought that on, don't project your feelings and overly PC attitude onto others.
Wake up, inner city is different, the kids aren't dumb, they just aren't the same as more suburban kids, I know this from experience, having lived in both environments, and it is a fact that many inner city kids have had less computer experience then those in other environments.
Understanding the world isn't racism it's life, If he had said, "now what am I gonna teach these getto monkeys?" that would have been racism, but no, you covered that for us.
----------
I don't work here, I'm just along for the ride.
http://monkeyserver.com --- weeeeee
My father is a principal at a New Orleans school deep in the Ninth Ward, and his is the only school in the area with computers. Good ones at that, with even a full T1. It's a very rare thing to see. Yes, everything is CHAINED to the desks and every door has humongous bolts on them. There's even an impressive 'server room' that holds all the routers and stuff. HUGE BOLTS and lots of alarms. ANYWAY, from the experiences he's told me, it's best to use the very basic programs. The Typing Spelling and Math Blaster! programs (something like that) he uses a lot and, of course, OREGON TRAIL! Ah yes. And don't try to get too multi-tasked on them. Keep it simple. These kids will pick up quick and you will be amazed. Most of them had no problem at all getting used to a mouse and keyboard, either. So don't fret that.
I am not suggesting you cover boolean algebra, or binary arithmetic, because these are just kids. But you could teach them what an algorithm is.
I taught computer literacy, a couple of generations of software ago. And I helped friends who had been taught badly unlearn their bad training. Based on that experience I would strongly urge you to avoid teaching specific task-oriented skills, alone. Yes, people get impatient with abstraction -- particularly if they don't really respect you. But tightly focussed, practical, training, that avoids putting the skill or application in a wider context, can be absolutely crippling. Many people who are given a-theoretical training cannot adapt to using systems that are different than those on which they were trained.
You never want to have your students asking "How do I do a 'control KR' in this program". Rather you want them to know that ^KR is a specific instance of a more general operation.
Oh well.
--
Here's a perfect game. And it's open source.
--
I used to work as the tech guy for a grade school, and had the honor of getting to teach for two hours a day in the process. Teach the kids how computers work, as in binary math. Nothing complicated, just a little addition and subtraction with very small numbers.
Then, show them how a computer draws a picture. draw a simple picture, then cut it up. paste an address on each one piece then mix the pieces up and hand one out to each kid. Have them line up as you call the pieces in order. another way is to give each child a few pieces of colored paper, then assign a value to each color, then write a series of number on a chalk board, and let the kids make the picture.
Be creative, have fun, and just remember, the computer can only count to one, even if it can do it 100 million times a second.
In the wild there are no dumb lions tigers or bears. Only humanity subsidizes the continued existence of the stupid.
Inner city schools tend to have low-end computers which are often donated. Also, inner city schools tend to have a less computer-literate/experienced staff and user base. While the computers are likely to have Internet access (thanks to all of you who paid your phone bills with the 'tax' for wiring schools included), the time spent using the computers isn't so great.
The computers you will be working with will likely be 3-5 years old and possibly in partial functioning order. Bring your tools and some system disks if you have any. Some schools are better than others at maintenance, but be prepared for the worst.
First, let me recommend two resources for you:
T.H.E. Journal - http://www.thejournal.com
Education Week - http://www.edweek.org
These will lead you to other resources as well.
I recommend teaching students how to utilize the Internet as an education resource. Research and communication are the key benefits for the students you will be working with. Get them free e-mail accounts. (Be careful about personal information, especially with students 12 and under. Federal law heavily restricts that information online.)
Through those above links, you will find activities for the students online; I also recommend sites like The Learning Network (http://www.learningnetwork.com) for student activities and teacher ideas. These will let the students begin to see the potential of the machines in front of them.
From there, you can continue to build a cross-curriculum focus by teaching the students how to use computers to write. Journal responses, perhaps in combination with the above-mentioned research skills. This is a great opportunity to show the children how to use office-type software, especially for formatting.
Finally, if PowerPoint is installed (or a similar kid-centric multimedia slideshow program like mPower), you can allow students creative outlets in building multimedia presentations (again, using information from the Web combined with their own writing). The New York Times had a recent article on this new phenomenon.
These are just a few ideas; many more are located in the few links above and elsewhere on the Net, natch. All of the above ideas take advantage of the likely circumstances you will encounter. Just remember to go in prepared, including backup ideas when something goes wrong. Computers are less than half of your job here; learning how to prepare a lesson plan and executing it is probably the hardest part. Again, the above links will assist you in that task.
Good luck! I've done this before and currently work making educational software for schools; it's terribly rewarding work. I wish you the best.
They aren't going to be working as secretaries at age 10. They don't need those skills -- they need the skills to think. Underprivileged kids are often deprived of this in school, at least in enrichment programs they should have this chance.
Ok, that's three lessons covered. What could you do with those lessons? Well, how about having a stick-man figure that can walk around one screen, off the edge, and onto another screen? Right the way round the room?
IMHO, if a bunch of kids could put something like that together, and could see "their" creation hop from machine to machine, around the room, those kids would feel more of a sense of achievement than any one-armed bandit, space-invader, or pac-man clone could ever do. Sure, each of those requires more graphics, and more logic, but nobody sees logic, and any graphics they do will not compete with the latest console game they just bought.
Give them a problem that grabs their attention, but doesn't compete for it with the cartoon channel or the latest video game. Running an animation across a massive virtual distributed computer (even a game of "pong" across multiple machines!) will appeal in a way that almost nothing else will.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
/.
I learned to program because I needed more photon torpedos than the Star Trek game gave out. You know, the ancient one with the square grid of dots?
Learned about the limits of precision of variables, too, when I figured out why I could only have 32767 ptorps at a time.
Taught myself BASIC on a Wang System 2200 at age 14 (and I can still RTFM today).
--Charlie
I know what kept me interested in computer classes in elementary school... education video games! Ah... Oregon Trail. It'd be worth checking into what games are cheap/free for education purposes.
--
"A dessert without cheese is like a beautiful woman who has lost an eye." -- Jean Anthelme Brillat-Savarin
I think you definately want to stick to the basics, especially if they are younger kids. First start out with hardware..."this is the monitor, the keboard, mouse, CD-ROM" and teach them how to use each one. Then teach them about proper bootup and shutdown. Then move into stuff about Windows in general, this is the taskbar, start button, etc. Then teach them to do some general tasks like launching programs, deleting files, etc. Do all of this before you even start getting into games or programming like logo. A fundamentally educated group is much better than a group that knows how to do one task (launch a game and play it). The trick to all of this is keeping the kids interested and involved. So making it fun is the challenge.
Like it or not, graphics programming is what's going to get kids hooked on coding. It's relatively easy to do (assuming you're somewhat creatively inclined), and kids can start hacking and see immediate results from their changes. After playing with this for a while, kids will tend to get bored with doing just that and they will try and figure out how to do more stuff with the language they've used. Of course, there will always be some kids who find the whole thing immensely boring, but you can't win 'em all...
Forbid them from touching or even looking at the computer. Then leave them unattended. They should be experts by the time you get back.
You see? You see? Your stupid minds! Stupid! Stupid!
I'd suggest you touch base with several other organizations that are doing similar work around the country, including:
The Bay Area Video Coalition in San Francisco, which is training adults for jobs in Internet industries. They will probably be familiar with local groups doing stuff for kids locally.
Playing to Win A long-time New York organization providing computer training in East Harlem. Director Mara Rose is particularly helpful.
The National Urban Technology Center, Inc. which has developed a curriculum for 4th graders to be taught at neighborhood computer centers in New York. Pat Bransford was the president last summer and very helpful.
United Neighborhood Houses of New York, Inc. which is running a tech program at 8 community housing projects in New York City. Director of the information technology initiative is Michael Roberts.
Also, you might as well go directly to the Borg. The Gates Learning Foundation was set up to fund efforts like this. They are probably an excellent source for finding groups that have already been working on curricula.
My first experience with computer programming was building cars and stuff out of legos and programming them with Lego LOGO. It was wayyy beyond cool to be eleven years old and get to build robots. What's more, it was really easy and I'm sure just about any kid could get the hang of it in a short period of time. Right now, the descendent of Lego LOGO are the Mindstorms robotics kits. If you can afford them, they are well worth it.
pi = 3.141592653589793helpimtrappedinauniversefactory7
I've been volunteering at a Seattle area non-profit called Technology Access Foundation (TAF) for 8 months teaching networking to high school kids. TAF is an amazing organization that is internationally acclaimed for its work to close the "digital divide."
Working with ages 5-18, TAF starts out doing just what you are talking about--getting kids using computers in constructive ways. They just completed their first year of TechStart (a program for 5-12 year olds.) Check out their site--they're great people.
-gokubi
I'm much funnier now that I'm a subscriber.
Here are some thought from what I have learned about teaching kids tech:
For just about anything you want to teach (HTML, IRC Chat, etc) you can find free stuff on the web. I was surprised how the kids took to using freeservers.com. Also, be sure to be prepared when some kids just don't get whatever your teaching -- its difficult on the child when his peers are ready to move on.
Christopher N Emmick
Christopher N Emmick
A good man, a better nerd.
no, it really is a good idea, were talking about elementary school kids here, those that have probably never played on a computer. Teach them that they are all work and you will lose 95% of them. teach them that they can do many fun things and you will hook 95% of them... one suggestion is you may want to buy an old 386 and tear it apart for them so they can see what is under the hood so to speak... kids love to tear things apart :)
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
coding? im perty sure they are just trying to get the kids comfotable around computers, and to let them figure out routine tasks... I would be very suprised if anything other than basic operation is taught... especially in the timeframe listed
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
What you should teach them depends on the age of the children. I would help lower elementary children first how to use a computer with simple games and maybe even a couple songs. As they get older add some lecture and give them more freedom in what they can do. The thing not to do is assume that they are children and do not know how to use a computer. At my high school we had this required computer class, it became the most pointless worst class anyone had to take. All the class consisted of was a semester of MS Word (all of the different tools) a few weeks of PowerPoint, Excel, Acces, and if you were lucky how to answer the telephone. Oh and unless I forget, the ever popular create a website using Word. Please be creative, they might be children but the last thing you want to do is turnoff the future of computing because you were boring and taught them nothing new. Good luck and I think you will find working with youngsters a lot of fun.
Start with a WYSIWYG tool to make it easy. You ought to have a scanner handy, that'll help. Get them to hit some of the graphics repositories to gussy up their pages. The kids will have quick feedback, the'll be able to compare results which will get their competitive juices going and if you're using one of the free hosting sites they can show they're web page to people outside school.
Then have them get into the HTML, to make the connection between the HTML and what shows up on the browser. Modifications to the HTML using a text editor with side trips to Webmonkey and WDVL to show them where to find out more about HTML.
Lay in some canned Javascript. Then get into modifying that.
During all this they'll have to learn about directories, file formats, moving files around, editting files and debugging pages/scripts when they go wrong. That ought to keep 'em busy for a summer.
Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
What better way to learn about networks and computers? Get permission from parents to let the kids bring in games... then have them set them up and play against eachother... have them set up the ethernet network that they're going to play over, and teach them how it works. Most kids like playing video games :) They'll learn how to install software, what files are, what networks are, vaguely how networks work, and they'll do it having a lot of fun (which is the most important thing). When I was in elementary school, I hated sitting in acedemic classes - you've got to disguise the learning in fun :) I'll bet kids don't really care that an ASCII character is 8 bits, and which is different from a 16 unicode character... they won't care to know how to count in binary, and they probably won't care how to address memory in any programming language.
I am an elementary school Instructional Technology Resource Teacher. I was also director of a technology camp for 2nd/3rd and 4th/5th grade students last summer. Kids are VERY interested in learning about and using computers. It doesn't take much to keep them interested, just hands-on use of skills that you are teaching.
From my teaching experience I can recommend a couple of approaches that I know work for kids!
1) Multimedia Presentations: Kids tend to be expressive. Use PowerPoint, HyperStudio, or KidPix (depending on the level and availability) to create a presentation about their neighborhood, their lives, or whatever. Get a digital camera and document the world around them. This project lets them explore digital cameras, scanners, using audio clips, graphics, and fun fonts.
2) Create a WebPage: Find a local organization or community aspect that you could create a web page for. Teach the kids basic design principles and some HTML code. Have fun laughing at some of the really bad web pages that are out there. Create a virtual zoo, a virtual rock garden, a virtual forest, or anything else.
3) Hack: Get into the nitty-gritty of a low level programming language like (please don't laugh) PASCAL or LOGO. Kids catch on to these languages quickly because they can think through commands in English and then write in PASCAL. (Unlike, for instance, PERL).
4)Explore: Take virtual field trips on the Internet. Go check out the National Archives Exhibit on When Nixon Met Elvis. There are other neat sites that you can preview and then write scavanger hunts about.
Just remember that the kids will need to see what you are doing. Showing them the task is an important step that you cannot skip. Also remember to show them that you love working with computers.
Lahjik
"I hereby grant this to the Public Domain"
Stagecast Creator is a program designed expressly for teaching programming concepts to kids. It uses the concept of simulation rather than programming per se, but the characters, behaviors, and variables translate readily into the programming domain once the kids are familiar with the concept of "teaching the computer."
Unlike Logo and Squeak, Creator does not require the students to wrestle with syntax. All programming is done visually. A short tour shows what it's like.
It's written in Java so it should available on almost any platform.
This may be a bit too advanced for your students, but Mindrover:The Europa Project (www.mindrover.com) allows the player to create autonomous AIs without any real coding. These AIs then pilot robots that try to kiil each other. (Kids love robots and violence). The game look very nice as well.
Another option - although this is also sort of advanced - might be for you to have the students make game levels. If this is too advanced, you could make a level yourself, and have the students change it. (Can you change this tile? What can you make the tank do?) Likewise, you could make the robots for them in Mindrover, and just have them tweak them. Neither of these ideas provides real job skills, but they could build a love of computers.
I'm the stranger...posting to
1)Have fun - if your not they won't.
2)there is no such thing as "kids", instead there is a group of individuals who are kids. Each will have their own quirks.
3)Have a very good idea what you want to do so you are not floundering - but be willing to chuck it all if it isn't working or something better pops up.
4)deal with groups of 3-6 at a time and have them work in teams.
5)realize you are there do deal with the kids not the computers, most of your time will be spent dealing with the teams - their interacting with each other, and individual kids with-in teams
6)This is a summer camp - keep things on the lite side and focus on having them enjoy themselves.
Ed. Points.
Kids come in age groups and you have to deal with them in that way 3-6 year olds are almost a different species from 9-12 year olds. And starting at about 12 it comes clear that they are also from a different universe
What I've done. Started out this way.
all groups:
what are the parts of a computer? everyone can give 1 or 2 answers.
When you think of computers what do you think of? Again 1 or 2 answers per kid - game, net, etc are good answers.
(This will give you a good idea of who knows what.) Answer questions
**explain rules about how to use computers and how to handle problems, Everone, or every group, gets half hour or some such and if anything goes wrong or seems strange - stop and ask for help, etc ***
This should take about 30 - 45 minutes per group of 3 - 6 kids. Your are spending a lot of time just learning their names. What I do is when ever you speak you have to say your name first. At this point there will be tons of calling out, kids cutting each other off, yelling or looking lost and glum. This will help show who will need to be sat on to control and who will require some drawing out.
take a computer apart. I just dug out one of the schools old Mac LCIIIs and pulled it apart and let the kids handle the parts. Show them which parts are what. This is a hard drive, this is the CPU, etc. Answer questions.
This is also good for 30 -60 minutes per group. Don't rush though, when their attention seems to start to waver it's time to move on.
Here I started to split things by age. Kids 3-6 are not very good at handling abstractions, here stick to hands on and if you want this to happen do that. Move from the concret to the abstact.
6-9 are better then 3-6ers at abstration but still not very good. They can deal with simple analogies, CPU is like a brain. In this age group I start to introduce some vocabulary, as in syntax and algorithm.
9-12s can start to deal with abstractions so I start to use simple pancake diagrams to show the different levels of a computer and how software works and programming is done. source - assembler - binary - machine. And start them one working on the machines.
12 + they start to be teenagers.You will spend a vast amount of time just manageing what happens and keeping order. if you need anything else you can post again or sendemails.
Some scattered thoughts:
Personally, I think your over-zealous inference of racism is doing more harm than the author possibly could.
49 20 68 61 76 65 20 74 6F 6F 20 6D 75 63 68 20 66 72 65 65 20 74 69 6D 65 2E
I'll preface everything by saying I've never given this sort of class and I'm not a professional teacher :)
::grin::)
That aside...
Two things I think you need to do. First off see where the class is. Some of them may have computers at home. Some may be hackers in their free time (you also make mention about age range). Some may have no exposure to computers (hard to imagine but true). Some may have programing background the others, nil (or NULL if you prefer
The second, start with some basics.
If nothing else, cover what the parts of the computer are, and how they work IN GENERAL. You don't need to get too specific but one or two quick overviews would
1) allow you to have a basic knowledge to build on
2) help ease many future tech support calls
3) have some basic lesson that you can start with, while you are still deciding how much they know, so you know where to take the class.
It would also depend on what sort of equipment you have available (1 computer per student, 1 per 2 or 3, 1 for the class).
Beyond the basics of what computers are, and how they work, you could also work on both GUIs (ie, what they are and how they work), as well as some basic programming.
For GUIs you could work with either Windows, Mac, Gnome/KDE, or any other. Try to teach the concepts they include (point and click, drag and drop, menu bars, etc.). Even for those people who use computers, a lot of the time they don't look at the GUIs. How many times do you stop and think about the functionality of the buttons and layouts? (or how much better it might be done?)
For programming try a simple scripting language like Perl or Python. (depending on your preference). If you don't have computers available, you could also try the basic technique of having them write simple scripts and acting like the computers themselves (follow the instructions and see what happens).
It all depends on the ago of the children. With kids you can try explaining programing as commands to make something happen (you want to tell the dog what to do, first go outside... but the door is closed, which direction should it go, etc). For GUI development you could work with a paint program (there are oodles of them for kids, and it might work well), for older kids I'd try a word processor and/or spreadsheet since its a valuable skill to have. Also, don't forget that many of them will already be familiar with Web browsers.
If you have limited resources that might be another thought, teach them how to build web pages. This includes some creativity, some programming (okay HTML isn't programming per se, but Javascript could be), and some general computer skills (how do you enter the files? How do I use the internet, etc.).
Sorry for the rambling.
Hope these ideas help some. Let me know how it goes.
This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
I had the chance to be a special computer guest for my teacher-friend. What I did was bring in a 3D graphics program. I showed them all some animations I had done and they were glued to the computer screen.
I then sent them off to their own computers where I had pre-laoded the software and ran them through the basics. By the end of the class period, they were making some really cool scenes! And they were only K-2!
Whatever you do, make sure it's something that's fun and involving. Kids are awesome and most of them pick up on things quick, so you have to keep it interesting.
There is a well written paper The Computer Clubhouse: Technological Fluency in the Inner City that I just found by doing a web search. It includes a list of principles to keep in mind when teaching kids.
You might want to also check out Geeks into the Streets - "Geeks Into The Streets (GITS) is an opportunity for people who love computers to bring them to people who might otherwise not have access to them." Their primary project is House Agape.
The Prime Directive: Be as direct, and hands-on, as possible.
Try to minimize the amount of time you spend on background material. While it's fascinating to techie types like us to know what's going on under the hood, the thing the kids will probably want most is simply to get their hands on the machines and play. Put as few obstacles in the way of that as possible, and encourage exploration. Get their hands on the computers on the first day! You can circle back and teach the "why" material later.
Also, don't try to shove too much material into too little time. Save time for the kids to explore and have fun, not just plow through prefab lessons.
Find out what the kids are most interested in, and teach them that.
You want to keep the excitement level and sense of discovery high so that the kids will develop a lasting interest in computers, so I encourage flexibility rather than strict adherence to any particular course of study. The kids may not know enough about computers to even know what most interests them, but think about Web surfing (careful with what sites they can access, of course), email/IM, games, maybe even digital imaging if you can get your hands on a digicam or scanner. It'll be a lot easier to introduce word processing after you've gotten people hooked on email (which has a much higher fun quotient) than vice versa. Things involving graphics will also have a lot more appeal than those involving text, particularly since many of the kids may not know how to type or, in the worst case, may have limited literacy.*
Encourage the more knowledgeable/experienced kids to help their classmates.
The kids will learn at different speeds. Some will pick things up right away and others will agonize over it forever. Use this to your advantage and have the fast learners help out the slower learners, if you can do this without causing too much friction.
Come up with lessons that convey the ideas that the kids will need to know for future success with computers -- but subtly and in the course of something they can relate to.
Identify the basic concepts you want kids to understand when they leave. That probably includes something like:
- The difference between working memory and permanent storage
- Basic filesystem concepts (what's a file, what's a folder, what does copying and deleting/trashing do)
- What an application is, how to start it, how to get information from one to another (i.e., the clipboard)
- How to get on and use the Internet for e-mail, basic research (search engines and the like), etc.
(Some of these might be overkill if you're talking early elementary school -- first-graders might not need to know about filesystems, for example, but fifth- or sixth-graders ought to be at least introduced to the concept.)Come up with a list of resources the kids can use after the class is over.
Two things: First, where are places they can go to continue using computers if they don't have one at home. That could be places like public libraries. Second, what books, Web sites, etc. can they turn to if they want to learn more on their own.
*--Note: the comment about limited literacy, in this context of teaching a summer camp that includes "inner-city" kids, is not meant to be any kind of coded racist reference. It's simply the sad truth that many kids in school in the U.S. who are not in affluent suburban schools (and probably quite a few who are, as well) are reading well below grade level. This is something you should be prepared for.
"Biped! Good cranial development. Evidently considerable human ancestry."
I like network gaming as much as the next guy, but to say playing networked games teaches about networks is like saying, "I'm learning auto repair by driving to work everyday."
By and large, the population of game players knows absolutely nothing about the console/computer/network that they use. If you want to include computer games in a class about computers, have the kids create a game. Kids like to be creative and see a product of their work.
Maybe elementary school kids can't create a first-person shooter, but if you show them a digital camera and teach them to edit their it will spark their interest. That's all you need. They'll ask questions about the ASCII and binary subjects later.
Text parsing and DB accessing are B-O-R-I-N-G. Get them doing "graphics programming" with LOGO or some other similarly easy-to-learn-with-quick-results language.
Dancin Santa