Hey HN, I am taking a month off from work to teach computer science at a public school in Mumbai, India. The kids I'll be teaching are from a low income background and have almost no exposure to computer science/programming/software development. They're 14 years old and have a basic math background. I'll have close to 40 hours of teaching time with these kids. The objective of the course isn't immediate employment. I am hoping to get them more interested in the field and maybe get them started on programming on the side. I need to design a 4 week course for them. Here is what I have right now: Computer Fundamentals ~ 10 hours (Basic computer achitecture, basic networking, very basic introduction to OS) Basic web design ~ 4-6 hours (Introduction to HTML, CSS, making a real simple webpage) Introduction to JS ~ 16 hours (Introducing programming concepts like abstraction, simple JavaScript syntax like functions and variables, basic DOM interactivity) Make a simple app from scratch ~ 10 hours (maybe a timetable or a to-do app to bring together most concepts we have been learning and get them excited about making new stuff) Things I am skipping in the interest of time but unsure if I should: Discrete Math, Logic, Algorithms, Datastructures, Linux/UNIX, Lots of OS, Lots of Computer Architecture, A JS framework like React or Vue, Databases Do you folks have any suggestions to improve the course?
Should I include something key that I am missing? I understand that I have not included very fundamental CS concepts but I am hoping these are things they can take up if they express further interest in learning the subject. Appreciate your feedback! PS: If some of you can donate some Computer Hardware and can ship it to Mumbai, India, that would be awesome! If you are interested, drop me a line at [my hn username @ gmail.com] Thanks! |
One option is that I believe you can get relatively inexpensive Android devices in India. And there are now environments such as Grasshopper and SoloLearn that allow you to develop in Java right on the mobile device!
I can also recommend CS Unplugged: "a collection of free teaching material that teaches Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around"
https://csunplugged.org/en/