Ask HN: Curriculum for a Computer Science crash course
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!