Computer science has become a basic life skill that everyone is going to need to learn. Whether you are going into a career or side hustle in business, technology, creativity, architecture, or almost any other field, you will find programming, coding and computer science play a role.
In fact, if you look at the top skills on LinkedIn for the United States, in the last year all ten of the top were programming, computer science, or code related. These include cloud and distributed computing, statistical analysis, data mining, mobile development, storage systems management, user interface design, network and information security, middleware and integration software, web architecture and development frameworks, algorithm design, and Java development.
What is unique about computer science is how it has become a skill, and not just a career. While there are jobs and titles of "Computer Scientist", the skill of computer science, and specifically coding and programming are almost everywhere.
In marketing, you need to analyze and sift through tons of user data and metrics on how people use your products, website, apps, or services. In medicine, doctors and researchers need to gather and analyze data gathered from clinical studies or to find new breakthroughs. In agriculture and farming, thousands of IoT devices need to be deployed and managed to gather data on soil conditions, humidity, and crop health. In architecture and construction, mapping out and analyzing how people use elevators, building infrastructure, or public spaces can help design better buildings for people to work and live in. Even when building a side hustle, entrepreneurs may need to perform research, build a website, program a mobile app or game, or perform tons of different activities involving code, logic, automation, and programming.
But let me be very clear. The curriculum from the College Board for the AP CompSci exam sucks. Like, it is really bad.
It isn’t teaching anything incorrect or wrong, but it lacks context for what coding in the real world is like. The examples are cryptic and aren’t based on any real-world projects like social good projects, business applications, games or other types of applications.
For you, this can make it confusing, but just remember this; there are two sides to programming: What is being done, and how it happens.
The what is pretty easy, and this gives the code context. Like parsing transit data, rolling a virtual die, or adding sales data for a quarter together.
How it happens is a completely different story however. This is where you need to break things down into individual steps and start to think like a computer. A computer is going to think only about one single step at a time. It has no concept of what comes next or what came before it. It only is concerned with the present. So, if it can’t find something—you get an error. If it tries to do something that doesn’t exist—you get an error. If you try and doing something out of order—you guessed it, you get an error.
In fact, the computer is pretty damned dumb. I mean, like really dumb. What makes it smart is how we are able to string multiple actions together to make something work. And with growing advances in artificial intelligence, the computer itself can start making adjustments. And then Skynet activates, and we all know what happens after that.
So when we learn programming we are going to focus on three things:
- What is the process,
- What is the syntax, and
- What is the flow
The process is represented as a flowchart. We will learn how to make these to help you plan out what you are going to do before you write a line of code. At first, the flowcharts will be pretty simple, but then they will get more complex. And yep, you will get pretty annoyed with flowcharts before the year is over but trust me…they help.
The syntax is the code, this is what you write that translate the process you create in a flowchart to the instructions that the computer can understand.
Finally, there is the flow. This is where you trace through the code and see how the data and information it stores along the way changes and you can see how the operation of the program cascades from line to line. You will be building charts that will capture the programming flow so you can better understand how the computer processes code to make your next program easier to conceive and code.
Who me?
Oh. Hi!
I’m Doug Winnie.
I have been teaching programming in the classroom or with online videos for over fifteen years. Online, I have over 1,500,000 views of my videos on Adobe, Lynda.com, and LinkedIn Learning. My courses cover topics like computer science principles, Java, C#, JavaScript, product management fundamentals, virtual machines and other products and technologies.
I have written two books of programming and collaboration between user experience designers and developers.
I have two patents on software design and development patterns and design-time parsing of declarative user interface component code.
I currently work for Microsoft and LinkedIn as head of community, or Chief “Wizard Cat” for the LinkedIn Learning instructor organization called the Learning Insider Program, representing the interests of over 1,400 teachers and instructors worldwide. I also am a contributor to the Windows Insider Program, and part of a global initiative at Microsoft to teach 7.6 billion people around the world digital coding and programming literacy skills. I also am a LinkedIn Culture Champion that works with LinkedIn employees around the globe to put on events that are focused on our twelve rotating monthly themes on special days called InDays.
Previously I was a principal product manager at Adobe and specialized working on new products for the user experience, interactive design and web design audiences. The products I have led have shipped to over 12.8 million people worldwide.
I have presented at conferences around the world from small user groups of a few dozen to keynote presentations with thousands in the audience in Los Angeles, San Francisco, Boston, Tokyo, Amsterdam, Paris, and other places around the globe. I have been interviewed by The Wall Street Journal, Macworld, PC World, The New York Times, and other magazines and publications.
My favorite computer game is Ultima VII: The Black Gate. Look it up. It was badass back in the day.
My favorite food is macaroni and cheese and cheeseburgers. (You really expect me to choose between the two of those? Fools!)
My favorite ice cream is vanilla. Keep it simple kids.
My Stars make Treks not Wars.
My favorite sports are hockey and lacrosse (Go Flyers! Go Nucks! Go Wings!)
My favorite emoticons are 😉, 👍, 🐱👤, and 🤦.
You can find out more about me online. My LinkedIn profile is: