Not to sidetrack, but CS just has very little to do what actual programming as a software developer in the real world.
very true. most human programmers are not scientists, they're engineers and plumbers and architects. little science needed.
in fact, there are maybe 3 ideas a human needs to know from CS in order to prevent common pitfalls, the rest is useless:
1)O notation and what it means (i.e. don't put loops in loops for large data sets)
2)Relational Model and why it's good (allows post-fact reorganization of perspective on data without moving it around)
3)Drawing the lines between things is the hardest problem in software engineering, and there is no perfect answer. (CS is actually super bad on this one, and constantly "invents" perfect solutions that don't work - this type of architectural nihilism is what brute has concluded after years of perfect science solutions failing).
I played robot and the programmer with a group of underprivileged 5 year old children this week. A blue crayon circle meant turn around, green was one step forward, and purple meant jump. They loved it.
53 year old me learned how to adjust band assignments to minimize interference on a wireless network this week. Also, The next time I see a hunky guy in a cable truck, I can impress by using “FTTP?” As my opening line.
I am doing the 6 course google information technology support specialist certificate on coursera. It starts out very easy and then becomes a bit more challenging. I'm kind of considering it to be the equivalent of some pre-req lab course I missed and need to take before venturing forward more in the realm of data science. Many moons ago, one of the reasons why I transferred out of engineering school was that almost everything in the labs was based on cars, and I knew nothing about car mechanics. I mean, NOTHING.