## Get students involved

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

## Submit lesson plans

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

## Lesson plans

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

### Vector Graphics Use Functions

For 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.

### Coloring Discrete Structures

Is 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.

### 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.

### Animation with Object Efficiency

One 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.

### Sorting Socks is Algorithm Complexity

How 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.

### Recursion: Smaller Sibling Pyramids

Recursion, 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.

### Networks

Young 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.

### Graphics: Calculating Color

In 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.

### Graphics: Bits and Points

Computer 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.

### Fibonacci via Recursion and Iteration

This 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.