Why I think Everyone should learn at least one programming language in the U.S.
// written in 2020: tools, versions and prices may have changed since.
Intro
The economy has transitioned from industrial to the information age, from physical to digital. Yet, the public education system has not caught up with this shift and is still equipping graduates with an Industrial Age skillset. A skillset that does not enable participation in the Information Age Economy.
Comparison of Skillsets
Before going further, here is a basic comparison of skillsets to keep in mind when thinking about public k-12.
Industrial Age Skillset
Designed around Factories
- A defined finite amount of daily work
- 8-hour workday to process at least x amount of widgets
- Mostly manual work
- operated specialized equipment by hand
- Persistent monotonous work
- work didn’t change
- could use the same technology in the same job for decades
- Mostly physical goods
Information Age Skillset
Designed around Computation
- Hard to define work
- 8-hour workdays aren’t reliable predictors of output
- Mostly mental work
- create software to automate repetitive tasks
- Digital => data input/processing of spreadsheets/documents
- Physical => computers to operate specialized equipment
- Changing work
- new technologies to learn every year
- can’t learn only one technology
- retooling every x amount of years
- Mostly digital goods
Update the k-12 and collegiate curriculum
I think this should be changed and that public education should be required to teach programming as a fundamental skill, if not at the k-12 level, then a must at the collegiate level. Many countries are already teaching their students programming in k-12 (Norway, India, and several others).
I think at a minimum; programming should become apart of the 4-year collegiate degree because it adds value to every degree granted while we are still in the Information Age.
It isn’t a new idea as each degree, and some high schools require learning Microsoft Office, a result of demand in the workplace for that skill. The same connection can be made for the skill of programming because it is in demand in almost every role in the form of automation and web technology.
In the Office
For example, suppose a newly hired intern or full-timer, tasked with the following; take data from x number of word documents and put it into an excel spreadsheet.
If they were to do it by hand, it might take hours or days, but if they knew the basics of Python ( or any number of programming languages), then it might take 1-2 hours to write the program that would grab the data and put it into spreadsheets in seconds.
Furthermore, the script is available time and time again, to complete the task, and can be extended by others to do more as business needs change.
How could this be done now?
I think programming should be included in the core curriculum of high-schools and colleges in the form of videos from places like Udemy or Coursera because it is their job to update the videos. Additionally, it would be affordable to leverage videos rather than teachers/professors because there aren’t enough at the moment.
Which language?
I believe at this time of writing that the best language to teach is Python because of its syntax and flexibility. Once students understood the basics of Python and Data Structures/Algorithms, then the Information Age would be accessible to them because they could leverage their skills in several ways data science, automation, cybersecurity, web technology, and many more.
Conclusion
The core curriculum must be updated to reflect the change of the economy from Industrial based to Information based so that new graduates from high school and college can compete. That update is to learn the basics of Python as part of the requirement to graduate.