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?
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"
But to keep the class interesting, I brought my digital camera, so that we could put pics of students on the web site they built. And I brought in MP3's of the latest pop music, but they had to use the network we built to get to them. By the end of the class, we had a fully functional network, an interesting web site (pretty good for kids that had never done that before) and a room full of laptops blaring MP3's.
The kids enjoyed the MP3's and were supprised at how unhard setting up a network could be. The adults in the room had a good time too. And I got good contacts with the CEO of the company, so I was grinning.
All in all, be engaging, and make sure the kids have a good time. If you get an idea for what they like to do, run with it. Oh, and take apart hardware if possible. It's usually a crowd pleaser.
Still, with a plan, you only get the best you can imagine. I'd always hoped for something better than that. -CP
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
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.