Hacker News Comments on
Massachusetts Institute of Technology
Introduction to Computer Science and Programming Using Python
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
I’m thinking about this for my niece--topics, ideas, pedagogy.
First, I’d say data storage and retrieval. I created my first DB on a Macintosh and FileMaker. Super useful. I still use a DB I started 20 years ago filled with every book I read. Make a project for quickly designing a database and using it. Someday they'll find a use for the skill.
Second, flip the script. Instead of cool projects, teach them what computers are great at. I think algorithms and models/simulations are really on-point. Team that up with learning Jupiter Notebooks, wow.
Finally, maybe you could teach them strategies on how to learn, and mix some computing solutions into it. Audit some Coursera or Edx classes. I recommend Charles Severance  and the Guttag and Grimson . The whole course may be over their head, but there are a few really accessible lessons that are super interesting.
Good luck. Whatever it takes.
Although it's not directly related to webdev, I highly, highly recommend the Coursera course Learning How to Learn as a starting point: https://www.coursera.org/learn/learning-how-to-learn
For the computer side of things, I highly recommend Harvard's CS50, which is completely free, for an introduction to computer science . It has a great subreddit  and is a fantastic resource. MIT also offers a great pair of free introductory classes on edx. 
There are so many variables and so much luck involved that there is no guaranteed path, but these are two great resources to get started. These were some of the resources I used to transition from no-CS (disclaimer: with a physics degree but zero programming experience) to a programming job at a startup. I've since continued learning through online and in-person classes and joined a large tech company.
Happy to answer any questions about these resources. Given how many variables there are, I hesitate to use my own experience as an example, but I'm happy to give back and pass on any knowledge I can.
⬐ KagerjayI second this as well
I would do CS50 and doing FreeCodeCamp in parallel. This way he builds a light web foundation, and have a solid CS foundational base to work through other courses.
Other good courses are found through udemy, like Colt Steel. Another good one I recommend is watchandcode.com, for basic foundational programming principles
For starters check out:
MIT's Introduction to Computer Science and Programming Using Python.
It's free or you can pay $49 to get a certificate.
I'm actually not a fan of CS50. I never took the course, but I went through the online material did the first few weeks of assignments. It is very broad and very shallow. It is also very hard and discouraging without some guided assistance. The students who take it for credit get a lot of help.
For a first CompSci course, the edX Python course is better, IMO.
⬐ ultrasounderThanks for your feedback. I could see your point about the course being broad. With 6.0.0 the whole focus is on Python and CS. Congrats on "Getting the Google job", at which many a might folk have failed; https://medium.com/@googleyasheck/i-didnt-get-hired-here-s-w... https://news.ycombinator.com/item?id=9695102
Are you able to share the role that you got hired in to? Was it a SRE?
thanks⬐ 50somethingI'm trying to stay anonymous and am concerned I may have already revealed too much. Let's just say it is a technical role that involves coding and leave it at that.⬐ ultrasounder⬐ 50somethingperfectly understand your concerns. Thanks again and wish you well on your journey!!!Also, I got rejected twice (!) at Microsoft and didn't even get an interview at Amazon, so I can sympathize with "GoogleyAsHeck." Clearly hiring is a very noisy process with a lot of randomness. A lot of it is beyond your control no matter how much preparation is done.
There is a good, free book on Python that teaches practical skills for automating tasks. I sometimes recommend it to people, because it's immediately practical.
After that, you could try Flask or Django (Python web frameworks) and gradually introduce HTML, CSS, and JS.
There are also a couple of online courses that might be useful. I've only watched part of the first one -- it was good.
EdX as well,
- 6-00-1x https://www.edx.org/course/introduction-computer-science-mit... (started)
- 6.00.2x https://www.edx.org/course/introduction-computational-thinki... (March)
All are good and are pitched at various levels of complexity. The Princeton course uses Java. Okay if you're into that sort of language/thinking. MIT is using Python. Found one using lisp, "Systematic Program Design" ~ https://www.edx.org/xseries/how-code-systematic-program-desi...
MITx Introduction to Computer Science using Python: https://www.edx.org/course/introduction-computer-science-mit...
Neovim: I want to dig deeper into a small subset of tools I use a lot and a text editor sees a lot of use. Especially as I learn programming. So good place to start!