Get students involved

Help students explore their interests by encouraging participation in computing competitions, scholarships and events.

people using computers in a classroom

Computing student opportunities

Submit lesson plans

Share your suggestions for future pre-university lesson plan topics to support the teaching and learning of computing.

Submit your lesson plan ideas

Lesson plans

Explore's collection of interactive pre-university computing lessons below.

Vector Graphics Use Functions

yoga logoFor a half century computing technology has played an increasing role in how we create visual imagery. Vector graphics was the original method for rendering images on a display screen. It fell out of favor in the 1990s as increasing memory size allowed raster, or bitmap images, to be stored. Within the last decade there has been a resurgence of vector graphics to efficiently support graphic displays as large as billboards and as small as postage stamps. Vector graphics are dependent upon functions. This lesson introduces vector graphics and functions through a collaborative design activity.

View lesson

Coloring Discrete Structures

coloring conceptIs it true or false that Discrete Structures and Discrete Mathematics are the same thing? This is the kind of question that is asked in this field – or both fields if they are indeed different. Most Middle School students see a mix of discrete and continuous math without ever noticing the difference. This lesson introduces them to areas of mathematics that computer scientists use to do computational problems. Search techniques through discrete structures are illustrated through graph traversal and graph coloring.

View lesson

Data Representation: Millions of Colors

Display devices on cellphones, tablets and computers of all sizes, use bits of information to represent color. By first creating, and then playing a card game, students learn how additive color is represented as binary and hexadecimal numbers. They will also get practice in recognizing and manipulating binary and hexadecimal representations.

View lesson

Animation with Object Efficiency

open book with paintingsOne of the most important ideas in modern computer science is the object. Without objects, modern window-based user interfaces and much of modern film techniques would be almost impossible to do. Objects allow designers and programmers to encapsulate information so that other details can be ignored when necessary. This lesson shows how an object made of connected parts can be animated by displaying it as a series of graphic images. This lesson can be done entirely off computer by building a traditional flip book with a PostIt note pad, or entirely on a computer using slide production software (PowerPoint, Keynote, Google Drive Slides). Or you can combine them for a very rich experience.

View lesson

Sorting Socks is Algorithm Complexity

socksHow do you know how fast a computer can calculate an answer, or whether an answer can be calculated at all? The field of Computational Complexity is the study of whether problems can be solved, and how fast. This lesson introduces some simple ideas about algorithms and their complexity through a series of exercises involving a collection of socks. Of course, other objects can be used as well. This is an active learning lesson that does not require access to a computer. Linear, polynomial, and logarithmic algorithms are explored building an intuitive understanding of order of magnitude.

View lesson

Recursion: Smaller Sibling Pyramids

humanRecursion, Iteration (Looping), and Concurrency. In the first of two sessions (at most an hour each), students are asked to calculate a simple summation by themselves, based on a procedure they are given. Then, through a guided role-playing procedure, students are asked to do the same problem by pushing a sub-problem off onto a ‘little sibling’. In the second session, they use a divide-and-conquer approach to understand a simple formula for summation. During this session they also talk about the big ideas behind these three problem solving methods.

View lesson


network on mapYoung people take the Internet for granted. Through a serious of web-based explorations and kinesthetic exercises students explore the basic principles of graph theory and how it applies not only to their social connections but to how information is passed around.

View lesson

Graphics: Calculating Color

paint bottlesIn a digital world we take color for granted. Through off-computer activities, students learn the difference between additive and subtractive color, and how images are generated on screen and transferred to physical print.

View lesson

Graphics: Bits and Points

pixel vanComputer graphics dominates young people’s lives. Their worldview is heavily influenced by pixels. This lesson uses age appropriate experiences to explain the difference between bitmap (raster) and vector graphics. The lesson covers how information is lost when it is digitized, and how computer graphics techniques can both enhance images, and provide vehicles for corrupting them. It also introduces some ideas on how to efficiently schedule a task.

View lesson

Fibonacci via Recursion and Iteration

shellThis lesson introduces how to calculate an arithmetic series, specifically Fibonacci. In the first of two hour-long sessions, using a spreadsheet (e.g. Microsoft Excel or Google Drive Sheets), students are shown how to calculate a series based on two prior values (the iterative solution), and by using a user-defined function (the recursive solution). With a large enough domain, most computers will exhibit real delays in calculating the recursion for values greater than 30. In the second session, they will explore why the iterative solution is faster, and why the recursive solution significantly slows down for large values. This lesson assumes that the teacher is well versed in using spreadsheets, including copy-down formulas.

View lesson


MATLAB graph
Cleve Moler

Cleve Moler improved the quality and accessibility of mathematical software and created a highly respected software system called MATLAB. He was a professor of mathematics and computer science for almost 20 years at the University of Michigan, Stanford University, and the University of New Mexico. In the late 1970’s to early 1980’s he developed several mathematical software packages to support computational science and engineering. These packages eventually formed the basis of MATLAB, a programming environment for algorithm development, data analysis, visualization, and numerical computation. MATLAB can be used to solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran. Today, Professor Moler spends his time writing books, articles, and MATLAB programs.

Listen to what Professor Moler has to say about his life’s work:

Liz Gerber - Image credit Lisa Beth Anderson
Liz Gerber
Liz Gerber - Image credit Lisa Beth Anderson

Liz Gerber earned her MS and PhD in Product Design and Management Science and Engineering at Stanford. She specializes in design and human-computer interaction, particularly how social computing supports the innovation process. Her current research investigates crowd-funding as a mechanism for reducing disparities in entrepreneurship.
Gerber's work funded by the US National Science Foundation and the National Collegiate Inventors and Innovators Alliance has appeared in peer-reviewed journals, including Transactions on Computer Human Interactions, Design Studies, and Organization Science.
As an award-winning teacher and researcher, Liz has touched the lives of more than 6,000 students through her teaching at Northwestern's Segal Design Institute and Stanford University's Hasso Plattner's Institute of Design and through her paradigm-shifting creation, Design for America, a national network of students using design to tackle social challenges.

Image credit - Lisa Beth Anderson

Punch card from a COBOL program
Jean Sammet

Jean E. Sammet was one of the first developers and researchers in programming languages. During the 1950’s - 1960’s she supervised the first scientific programming group for Sperry Gyroscope Co. and served as a key member of the original COBOL (COmmon Business-Oriented Language) committee at Sylvania Electric Products. She also taught one of the first graduate programming courses in the country at Adelphi College. After joining IBM in 1961, she developed and directed the first FORMAC (FORmula MAnipulation Compiler). This was the first widely used general language and system for manipulating nonnumeric algebraic expressions. In 1979 she began handling Ada activities for IBM’s Federal Systems Division. Ada is a structured, object-oriented high-level computer programming language, designed for large, long-lived applications, where reliability and efficiency are paramount. Jean has a B.A. from Mount Holyoke College and an M.A. from the University of Illinois, both in Mathematics. She received an honorary D.Sc. from Mount Holyoke (1978).

Turing machine
Alan Mathison Turing
Alan Mathison Turing

Did you know that computing has been used in military espionage and has even influenced the outcome of major wars? Alan Mathison Turing designed the code breaking machine that enabled the deciphering of German communications during WWII. As per the words of Winston Churchill, this would remain the single largest contribution to victory. In addition, he laid the groundwork for visionary fields such as automatic computing engines, artificial intelligence and morphogenesis. Despite his influential work in the field of computing, Turing experienced extreme prejudice during his lifetime regarding his sexual orientation. There is no doubt that computers are ubiquitously part of our lives due to the infusion of Turing’s contributions.

King's Quest
Roberta Williams

Video games immerse users in a world of high tech thrills, stunning visuals, unique challenges, and interactivity. They enable users to become a warrior princess or a gruesome ghoul, create a virtual persona, or even develop worlds that other gamers can play on. But before the games of today became reality, they were the dreams of a few innovative individuals.

Roberta Williams is considered one of the pioneers of gaming as we know it today. During the 80’s and 90’s along with husband Ken Williams through their company On-Line Systems, she developed some of the first graphical adventure games. These included such titles as Mystery House, Wizard and the Princess and the popular King’s Quest series. Williams also helped introduce more girls and women to the world of gaming by bringing games developed from a woman’s perspective to mainstream market.

Image credits