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

crayonsDisplay 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


James Dammann

If you have used a word processor today, moved your mouse on your laptop, dragged an object around on your smartphone, or highlighted a section of text on your tablet, you can thank Jim Dammann. In 1961 during his second year at IBM and just one year after completing his PhD, Jim created the concept of what today we all take for granted -- the cursor. This idea he documented in utilizing the cursor within word processing operations.

After retiring from IBM, Jim went on to inspire future generations of software engineers at Florida Atlantic University. His work there too demonstrated his creativity for he spent considerable effort enhancing their software engineering program by integrating ideas and feedback from local industries into the University curricular. Today, Jim lives in the Westlake Hills west of Austin Texas and spends most of his time in his art studio. He wrote and published The Opaque Decanter, a collection of poems about art, which provided a new view at part of art history.

RISC processor
John Hennessy
John Hennessy

Have you ever wondered how computers can execute complex commands in mere seconds? John Hennessy is a pioneer of reduced instruction set computing (RISC) architecture which employs small, highly-optimized sets of instructions to greatly enhance computer performance. He was instrumental in transferring the technology, specifically MIPS RISC architecture, to industry. He co-founded MIPS Technologies and co-authored the classic textbook with David A. Patterson, on Computer Architecture.

As Stanford faculty he rose to be the Chairman of the Computer Science Department, Dean of the School of Engineering, then Provost and finally the President of Stanford in 2000 (and till date). Hennessy holds a Master’s and Ph.D. in Computer Science from SUNY Stony Brook. He is an IEEE Fellow and was selected to receive the IEEE Medal of Honor in 2012. Hennessey also launched significant activities that helped to foster interdisciplinary research in the biosciences and bioengineering at Stanford.

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.

Sandra Lerner

It is difficult to imagine a time when computers were not capable of sharing information and resources with great ease. Sandra Lerner pushed the boundaries of network computing as one of the co-founders of Cisco Systems, which introduced one of the first commercially viable routers. The router was born while Sandra was working at Stanford University in the 1980’s after earning her Master’s degree there in Computer Science. To avoid the tedious task of transferring information between computers using floppy disks, she and co-founder of Cisco, Leonard Bosack, created a local area network, or LAN, between their campus offices using a multiprotocol router that Bosack developed. Shortly thereafter the pair started Cisco Systems, and began selling the router which was a success, because it could work with so many different types of computers. After Leaving Cisco in 1990, Lerner started the trendy cosmetics company Urban Decay and became a philanthropist and avid activist for animal rights.

First computer mouse
Douglas Engelbart
Douglas Engelbart

In 1967, Douglas Engelbart applied for a patent for an "X-Y position indicator for a display system," which he and his team developed at the Stanford Research Institute (SRI) in Menlo Park, California. The device, a small, wooden box with two metal wheels, was nicknamed a "mouse" because a cable trailing out of the one end resembled a tail.

In addition to the first computer mouse, Engelbart’s team developed computer interface concepts that led to the GUI interface, and were integral to the development of ARPANET--the precursor to today’s Internet. Engelbart received his bachelor’s degree in electrical engineering from Oregon State University in 1948, followed by an MS in 1953 and a Ph.D. in 1955 both from the University of California, Berkeley.

Image credits