# Public Keys, One Way Functions and Hard Problems

Security has always been a major focus of computer science research, and with the explosion of Internet use by commerce, the need for secure transactions has taken on more urgency. Most recently, cyber-thieves demonstrated that true security on the Internet is going to require a new level of understanding of how to protect personal data, and more importantly, financial transactions. This lesson introduces two important concepts: public key encryption and one-way functions. It provides an opportunity for students to understand the underpinnings of almost all Internet security: they will come to appreciate that any lock can be eventually broken, and that theoretical computer scientists study ‘hard’ problems to lengthen the time it will take to break a lock. Note that this is not a lesson in encryption, but in how mathematics is used to secure information.

# Virtual Reality and Anaglyph Stereoscopic Technology

With the mass production and availability of low cost and robust head-mounted displays (HMDs), there has been increasing interest in virtual reality technologies - for example the Oculus Rift, HTC Vive, Samsung VR Gear, Microsoft HoloLens, and Sony’s PlayStation VR. These display technologies are based around artificial stereo images, and provide a view with illusions of 3D depth in virtual environments. Students will use the scientific method to study ‘anaglyph’ (movie 3D) technologies to model computer science design and learn how stereo images create the illusion of 3D.

# Binary Basics

This lesson is intended to provide very young students with a basic understanding of how the system of binary numbers works.

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

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

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

Lesson focuses on how mathematic models help to solve real problems and are realized in computers. Students work in teams to build a graph model of their city map while learning how mathematic models work. Student should be encouraged to use this model to solve real problems.

# Complexity -- It's Simple

This lesson allows students to playfully understand algorithms and complexity.

# Search Engines

Lesson focuses on exploring how the development of search engines has revolutionized Internet. Students work in teams to understand the technology behind search engines and explore how they can retrieve useful information using search engines.

## Search Lesson Plans

and/or

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