Teach Engineering
Computer Simulation of an Artificial Neural Network
Ready to learn about machine learning? Pupils explore neutral networks and machine learning by analyzing the logic used in a single perceptron model. They consider its weaknesses and then use a multi-layer perceptron model to run...
Code.org
Controlling Memory with Variables
Not all variables are created equal. Discover how variables in computer science are different from variables in math class. Scholars learn to work with variables in computer programming by developing a mental model for how variables...
Computer Science Unplugged
Conversations with Computers—The Turing Test
Will the real computer please stand up? The premise of this activity is for the class to ask questions to a human and to a computer and to determine which is which. The class asks a given set of questions, and the person playing the role...
TryEngineering
Program Your Own Game
Young computer scientists get to see what it's like to be a software engineer as they use free online software to design a computer game. They play and evaluate games groups created to round out the activity.
Curated OER
'Hunger Games' Science: Investigating Genetically Engineered Organisms
In The Hunger Games novel and movie, a futuristic, dystopian society is the setting. In it, a genetically engineered bird escapes control of the government. Using this as a starting point, teenagers examine the realistic possibility of...
Teach Engineering
Java Code: Does It Work? Test and Test Again
Testing software code can sure test one's patience. Future programmers learn about the importance of testing when writing code for computer software. They access the CodingBat website to test programs written in Java using three test...
Computer Science Unplugged
The Poor Cartographer—Graph Coloring
Color the town red. Demonstrate the concept of graph theory with a task that involves determining the least number of colors needed to color a map so that neighboring countries are not represented by the same color. Pupils make...
College Board
An Introduction to Polymorphism in Java
Run a lesson on run-time polymorphism. An AP® curriculum module introduces polymorphism in Java. It identifies the five major types of run-time polymorphism and provides a brief description and example for each type.
Institute of Electrical and Electronics Engineers
Arduino Blink Challenge
Emerging engineers read about Arduino software and how it can be used. Then they follow a nine-step tutorial to connect an Arduino board to a computer and put it to work! The objective is to code a program that will cause an LED to...
Curated OER
The BEAM Project: Building Efficient Architectural Models
Technology or engineering teams are given a task to design, construct, and test the efficiency of a structure that will foster an even temperature throughout an entire sunny day. Intended as a long-term project, pupils research, plan,...
National Woman's History Museum
The Women of NASA
Human computers? Although it may sound like science fiction, the term was used to describe the women who made the NASA calculations before the advent of electronic computers. A 21-slide presentation introduces viewers to the women who...
Curated OER
Bioinformatics
Students conduct a series of scientific investigation using bioinformatics. In this molecular biology lesson, students collect experimental data using different educational softwares. They calculate and analyze relationships using...
Code.org
Creating Functions
Quit repeating yourself ... you can make this simpler! Rather than repeating the same set of code over and over, class members learn to build and call functions in a series of challenges in App Lab. In the end, they combine functions to...
Computer Science Unplugged
The Intelligent Piece of Paper
How smart is that piece of paper? The activity introduces the idea of computer programming as a list of instructions written by computer programmers. Two individuals play a game of Tic-Tac-Toe in which one follows the commands written on...
Curated OER
Computer Olympics
Learners compete to achieve excellence in math facts, writing terms, problem solving, and writing skills on the computer. In this Computer Olympics lesson plan, students practice the skill of drill and practice in order to succeed and...
Code.org
Algorithms Detour - Minimum Spanning Tree
This optional lesson introduces the class to the idea of a minimum spanning tree. The activity focuses on determining an algorithm that will find the most efficient path in a network to transfer data.
Computer Science Unplugged
Ice Roads–Steiner Trees
As an introduction to Steiner Trees, class members are challenged to find the shortest paths to connect multiple points. The teacher introduces the problem by showing how to connect three points. Groups then go outside and construct a...
Code.org
The Need for Algorithms
Pairs work through two scenarios that require them to generate an algorithm. The first activity requires pairs to define a common language to use; the second comes with the language. The pairs then must determine how to code the...
Code.org
Practice PT - The Internet and Society
Speaking of the Internet. The culminating lesson for the unit on the Internet challenges pupils to prepare short, two-minute speeches on an issue facing society. The pupils chose from three topics that connect the Internet and society,...
Institute of Electrical and Electronics Engineers
Cracking the Code
Some interesting reading on the history of barcodes opens this technology lesson plan. Readers find out how engineers contribute, and then they gather into groups to discuss possible improvements to our current UPC barcode system. Know...
Code.org
Sending Numbers
Binary graphing ... bit by bit. Pairs work together to develop a protocol in order to send the points of a graph. One partner sends the points and the other receives them and tries to recreate the graph. The pupils use the rubric to...
Henry Ford Museum
Physics, Technology and Engineering in Automobile Racing
Start your engines! This five-lesson unit introduces physics and Newton's laws through automobile racing. Each lesson includes background information, a student worksheet, and an answer key. There are also culminating project...
Code.org
Practice PT - Encode an Experience
Encoding What I did Last Summer. Class members develop a way to encode a personal experience using a top-down approach to determine components and sub-components of their experience They then pick one portion of the experience and go...
Computer Science Unplugged
Sharing Secrets—Information Hiding Protocols
Did you know that you can find the average age of a group of people without anyone having to real their age? This resource provides directions for way to do just that. After the activity, class members read a short passage that provides...