Previously
Alright let’s try to map out what the best possible course would look like. To reiterate, the goal is to take a person who has never written more than a few lines of code, to understand how the modern to be able to hold a technical discussion with other engineers and use their creativity for solutions be able to absorb knowledge of a particular niche technology much more easily from then on. This means developing intuition about technology and its constraints.
More clear goals would be:
- Understand how a computer works
- Understand how the internet works
- Understand what machine learning is and where it really shines
Since the best way to learn about something is case studies and real examples, the course should be heavily focused on those – as well as systems thinking exercises.
Structure:
- Learn
basicsfundamentals of computing - Case studies,
assessmentsexercises (together) - Learn about internet-based software and applications, Full Stack
- Case studies,
assessmentsexercises - Machine Learning fundamentals
The word “basics” is a poor choice – I believe the word “fundamentals” makes more sense.
Should the course be called “technical fluency” or “technical selling”? I believe the former is more general, the latter seems odd. I don’t want to alienate people who have a negative mindset towards “selling” – the name should be more general, while the course and its marketing materials can be personalized to different audiences.
Within these large sub-topics, what seems most useful for a person to know?
I definitely need to teach them about containerization, cloud computing, databases, ETL etc. Or should these just be modules?
Yes I guess that makes sense – start with a very “core” course and add niche modules to it that people can pick from. This way, I can rapidly iterate and also know what the market wants.
AI – maybe software should be taught with 3 parts of a cognitive function:
- Understand the environment
- Reason about the environment and make decisions
- Take actions
These 3 things can’t be too far from each other, which is where the whole IOT and edge computing and what not comes into the picture.
Insight!
If the goal is technical fluency, then jargon cannot be left behind.
By the end of the course, a person who has taken the core course should know the common words that come across.
A good test for this would be to read technical articles, and highlight words that come across which may not make complete sense to a non-engineer.
This goes further than just technical understanding as promised in the introduction essay, and delivers REAL MASSIVE VALUE.