Different realms of computing

icon picker
The Future of Work depends on computing

A guide for students and school district leaders to learn how to prepare for the high-paying Future of Work across nearly all industries.
I’ve designed this guide to hide extra details until you want to dig deeper. If you’re interested in learning more about a specific topic, click the ▶ to see more details.

The most frequent questions any student asks in high school are:

Why am I learning this concept and doing mountains of worksheets?
Why is it relevant?
When am I ever going to use this in the real world?
This guide is designed to answer those questions and connect them with the Future of Work.
The biggest difference between high performers and low performers in high school is an issue of motivation and relevance. (Of course, there are also other well-known factors like lack of support at home and role models, but they are related to the first problem.)
High performers don’t always need the answer to the Why? question
school itself is important to these students
or they already have found out (through sources outside of school) where they can use what they learn


Goals for students:

Students want their school to feel more interesting, engaging, and relevant.
For many people, this means learning how things they use every day are designed and structured, or creating meaningful products (e.g. as a real-world website, an electronic device for diabetics to detect glucose levels, a game, an app to detect if your house is in a flood zone, etc.).
To be able to produce meaningful products, it's important that every student gets a good foundation in coding and electronics as well as exposure to a few aspects of computer science theory and the ethical implications of how products are designed.
These are broad fields, however, and what a student may want to focus on within these areas depends on the student's ultimate interest.
We've listed some of the fastest growing areas of interest below, and we’ve recommended coding languages, technologies, and concepts that students should pick up to be successful in these areas.

We've found that a few technologies, languages, and topics are really important regardless of a student’s ultimate interest.

They show up everywhere - from robotics, to video game design, to web development. They are:

Useful for a lot of applications.
Easiest for students to get started with because it doesn't require weird symbols like ; or {}.
Especially useful for data science, computer vision, simulations, and machine learning using libraries such as Numpy and Pandas. AP Computer Science will not teach the skills required for any of these usecases.
Used everywhere on the Web and Cloud and also on iOS, Android, and desktop apps.
Specifically learn React for UI development. No need to explicitly teach HTML and CSS - they will be learned automatically.
Used everywhere, but especially on microcontrollers/electronics, in Video games / VR, and robotics
Probably the most complicated language to learn deeply.

Students should learn the following math by end of high school:

Algebra 2 and geometry are enough for 90% of usecases.
Precalculus may help for 7%.
Calculus, linear algebra, and statistics probably cover the remaining 3% of usecases.
If someone wants to be in one of these fields after graduating from high school, Precalculus is the bare minimum.
To get to strong understanding, vectors are really important. Linear algebra and matrices are pretty essential. A high schooler doesn’t need to formally know linear algebra to use a technique, but they should be comfortable with matrices and have a rough idea how the technique works.
(Multivariable) Calculus is also really important, but it is more important to understand the conceptual theory and meaning. Very very few people will be modeling and calculating equations by hand.

Learn more about each application:

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.