The courses are difficult to compare. Python for Everybody is a lot more technical than the Google course. It takes you through the basics to some intermediate Python concepts. The Google Data Analytics Professional Certificate is for people with no programming experience. It teaches a lot more soft skills and it goes through some very, very basic data entry stuff (ex. what a spreadsheet is, how to enter data into a cell, etc.).
With that said, I definitely prefer the Python for Everybody specialization because it's more in line with my current level. The Google course feels too easy at times.
I ask because, Like you, I think I am past the very basics of Python. I feel I need more intermediate-level material, OOPs or ??? So I am re-evaluating Python course material AGAIN.
In one sense, I am feeling dubious about so many courses. I ask myself, Can I do the same on my own? However, I am starting to believe that courses do a couple things for ME.
So, on a similar note,
Note to self: I would love to see someone put together an authoritative course outline/syllabus for different topics. Maybe, some sort of Open-Source Github repo that could be community-written and sourced to increase its relevance. Or does that already exist in FreeCodeCamp, for example?
You've made a lot of good points and asked a lot of good questions. Let's go piece-by-piece.
Deciding whether to self-teach is a personal decision with a lot of factors to consider. The primary reason that I feel comfortable going the "self-taught" route is that I'm an energy with over 8 years of professional experience and two engineering degrees (B.S. in Electrical Engineering and M.S. in Systems Engineering). If I was coming from a non-technical background or a technical background vastly different from coding/developing/software, I would probably choose a bootcamp or college-level certificate program.
Being part of a formal program has many benefits:
Like anything in life, doing it yourself is possible, but for many, it comes at the cost of time, effort and quality. If you are going the self-taught route, you'd need to recreate each of those aspects that are built into formal programs. Otherwise, you could find yourself struggling to find a job/pass interviews.
Personally, I wouldn't get caught up on if it's possible to do it myself. I would instead ask, what's the quickest and most efficient way to get where I'm trying to go with the resources I have.
As far as the books you sent, I haven't gotten through much of them as I've been focused on the Python course that I'm in. However, I did like what I saw in the Intermediate Python book. Right now, I'm working on wrapping my head around writing Python scripts that create & modify databases with SQL commands as well as handling data from different file types (text, xml, json). It's been quite interesting. I'm not really qualified to answer what topics are key to learn as a programmer because I'm not a professional programmer. I'm here learning like everyone else.
Whether a curriculum exists depends on what you want to learn. If you're into web development, there's an abundance of curriculums, roadmaps and free programs (including freeCodeCamp, The Odin Project). For other types of development, there's probably free/low cost courses and books. It's just a matter of searching for them. You can also look up university syllabi and curriculums and use that as a base. The sky's the limit. It just takes time and effort and asking questions in forums, on Twitter, etc.
I hope some of this helps.
Your notes have always been very thoughtful, and filled with great ideas. I appreciate that. Thank you for your effort too.
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
For further actions, you may consider blocking this person and/or reporting abuse