Background: I'm from Bhilai(India), a city with a large integrated steel plant under SAIL (a public sector steel co). So my mom was asked on Women's Day to come inaugurate their CSR undertaking consisting of "Computer training" for poor kids from nearby villages. They have 4 old PCs for this purpose and one old retired dude who has come to know MS Powerpoint and Word through usage.<p>The kids are very happy about this (13-17 aged, drop-outs at grades 7-9). We discussed at home yesterday how they need to complete schooling and so we're trying to find people who are willing to teach as volunteers. We think English and access to the internet are very important as well.<p>To HN: I need you guys to give suggestions for their CS/IT curricula considering their need to find employment soon. Going by local job needs, familiarity with Office will help but I feel they will stagnate, bound to these apps.
1. What tools can we teach them that they can further their knowledge themselves after finding immediate employment?
2. What languages can be taught at this level, so they can catch up to their affluent peers - eg. Basic?<p>Edit: As suggested by pook, I would need 'a good selection of webapps and tutorials pre-bookmarked'. Please suggest as many as you think will help.
As someone familiar with Indian IT ecosystem, please bear in mind Indian IT system is different bit and lags behind SV. Indian IT system is pro-Microsoft rather than Linux based. Indian CS/IT education concentrates on MS Windows from lower grades itself.<p>There are two sections of people you might face - those who need IT literacy so that they can move on with jobs like DTP, Admin Assisstant and those whose career would like to be built on computer science.<p>For IT literacy section, familiarity with MS Windows, MS Office (or OpenOffice alternative), Internet Browsing, Accounting packages like Tally, Computer and printer hardware assembling and troubleshooting<p>For Computer Science section, you will still need<p>Programming: GWBASIC (or latest MS Simple Basic) to get them familiar with programming and their syntatic structures.
Database: SQL language based on DBASE III (or latest MySQL alternatives).<p>Teaching programming in C,C++ and Java always helps, as most schools and companies insists them as your passphrase in your resume to be even considered for written tests (talk about idiocrazy)<p>One another thing I faced during my career start, I could not afford any computer literature like books, magazines as it is way too expensive even for great Indian middle-class. So wherever possible, I try to sponsor computer magazines and books to local libraries and private lending libraries so my fellow citizens have better learning opportunities than me.
Have you read about the Hole In the Wall project? <a href="http://www.greenstar.org/butterflies/Hole-in-the-Wall.htm" rel="nofollow">http://www.greenstar.org/butterflies/Hole-in-the-Wall.htm</a><p>I'd suggest a similar model for education. If this is to be within a school you don't need such an emphasis on durability, so you have much more options for UI(the original lacked a keyboard). Definitely include a Hacketyhack(Ruby) environment, several typing games, etc.<p>You will probably find that the children will explore and suggest far more interesting avenues than you will initially consider. As long as they've got a flexible starting point (Edubuntu + a good selection of webapps and tutorials pre-bookmarked) you are bound to get results.<p>edit: please please do not include BASIC. Ruby or Python are far more useful as educational languages. Not only are they far more useful and educational, but I guarantee the children will surprise you with innovation you simply cannot get from BASIC.