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

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

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

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

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

# Boolean Algebra is Elementary

Sherlock Holmes delighted in saying ‘It’s elementary, my dear Watson’. This lesson provides a brief overview of how Boolean algebra provides the basis for artificial intelligence reasoning. The rules of propositional logic are introduced in the context of the kind of ‘AI’ found in role-playing games both on the computer and off.

# Circuits and Boolean Expressions

Boolean logic is essential to understanding computer architecture. It is also useful in program construction and Artificial Intelligence. This lesson is a gentle introduction to formal logic using Boolean notation, and Circuits. Students learn the basic rules by playing the role of logic gates in a half adder and full adder. Free logic gate construction software available online can be incorporated optionally.

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

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

# Concurrency Means Cooperation

This lesson provides a number of kinesthetic exercises that illustrate how teamwork can contribute to efficient problem solutions. The lesson includes practice in figuring out how to divide up a problem, and reassemble it. Students also explore how scientists use the Internet and idle computing power to do calculations on volunteer machines. If possible, with sufficient teacher expertise, students set up a computer to contribute to solving such a problem.

## Search Lesson Plans

and/or

Quickstart: we have resources for Students, Parents, Teachers, and Guidance Counselors