Different realms of computing

icon picker
Different realms of 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.

Future of Work in computing

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)
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


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.

Goals for students:

Learn how things they use every day are designed and structured
Learn coding
Learn computer science (how computers store and calculate things, break problems down into smaller pieces, how to efficiently order steps)
Learn the ethical implications of coding algorithms and design decisions
Make school feel more interesting, engaging, and relevant
Make meaningful outputs (such as a real-world website or electronic device, or game)

Students should learn coding in:

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 Git

Git is the most common way to track the changes you make in a code file and collaborate with others.
Github is like Google Drive for code. Just like there’s also OneDrive from Microsoft, there are other providers for Git, but Github is the most popular.
One very important skill to break a problem down into single features instead of writing a little bit of everything all at once. This makes it easy to undo a change if something is broken, and it makes it easy to collaborate with others, because each person can write a distinct feature and merge their code without clashes.

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.