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?
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
FWIW: i agree w/ the parent post.
just read slashdot at 0 and read all the rascist shit that ppl just post for fun, unrelated to whatever topic is being discussed.
all replies to this thread, and its moderation as flamebait show me that here are ppl who will argue all day that alewando is projecting his/her internal biases on cliff, but it's a fact. to say these kids as "inner-city" and assume that there is some inherent quality that they share (whether in terms of intelligence or economic status or whatever) is both classist and racist.
i wonder when most slashdotters will wake up to the fact that a lot of ppl have prefabricated notions of what it 'means' to be a certain race, and while not on the same scale as the KKK, it's still racism.
keep your opinions, but question what's being fed to you. last week in toronto, there was a front page story in the NATIONAL newspaper about government beureaucracy causing the deportation of a polish immigrant family that underpaid some immigration fee by $50.
ask yourself why that's front page news, when non-white families w/ similar or even more tragic stories are deported daily.
and at one point, yes, i would have argued it over and over like most of the replies to this thread, but at some point, you must recognize that not everybody even cares enough to think about motivations for people's behaviour, but that maybe you should.
so, all i'm saying is think about it. put that rational thought that everybody here seems to prize so much to good use and realize your own motivations and the realities that ppl can't be lumped into categories based on superficial similarities.
hopefully someone'll read this, as for how many years it'll take to be able to salvage the damage to my karma, that's another story...
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...
Wordprocessing, spreadsheets, and databases? I'm going to assume that you didn't understand his question. These are inner-city elementary students. Programming should almost not even be broached at this point. Navigating a filesystem, executing programs, internet stuff (irc/ftp/google whatever), MAYBE help them build their own websites and show them how to add stuff to them. Without knowing the reading level of the students, this is about as much as one can offer.
Einer
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
It is still around, http://www.isu.edu/~trinmich/00.n.games.html has it for 14.99
Also, googling for it, I found an old journal from the version 1 of the game. It's pretty funny.
Brant
Brant
Argle. Bargle.
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"
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