A collection of handouts, worksheets and other documents to help teach Computer Science and Engineering concepts.

These materials primarily target middle-school students (6th - 8th grade), but most can be used without modification for younger or older students.

General Computer Science

Materials on general computer science topics.

Image

How Computers Work

An activity for 3 students to act out the various parts of a computer: CPU, ALU/Memory and Display.

Image

How the Internet Works

An activity for a group of students to act out the various parts of the internet: websites, routers, nameservers, ISPs and home computers.

Number Systems - Counting

Materials for teaching binary, octal, decimal and hexadecimal.

Image

Octal counting

These worksheets introduce the students to a non-decimal number system (in this case, octal) by having them count objects in both octal and decimal.

Image

Octal dots

This worksheet has the students take an octal number and draw that many dots. After finishing, they count the number of dots in decimal to check their answer.

Image

Counting in octal

In this simple worksheet, the student counts from 0 to 77 in octal (which corresponds to 0 to 63 in decimal).

Image

Counting in binary

In this worksheet, the student counts from 0 to 111111 in binary (which corresponds to 0 to 63 in decimal).

Image

Counting in Hexadecimal

In this worksheet, the student counts from 0 to 63 (but in hexadecimal, so it's really 0 to 4F).

Image

Number cards (Binary, Octal, Decimal, Hexadecimal)

Playing-card sized cards that can be used to compare the different number systems.

Number Systems - Converting

Materials for teaching converting between binary, octal, decimal and hexadecimal.

Image

Converting from binary to decimal

Worksheet showing how to convert from binary to decimal.

Image

Converting from decimal to binary

Worksheet showing how to convert from decimal to binary.

Image

Converting from binary to octal

Worksheet showing how to convert from binary to octal.

Image

Converting from binary to hexadecimal

Worksheet showing how to convert from binary to hexadecimal.

Image

Converting between binary and hexadecimal

Worksheet to practice converting between binary and hexadecimal.

Binary Magic Tricks and Puzzles

Magic tricks and puzzles related to binary numbers.

Image

Binary magic trick

A set of 6 cards for a simple magic trick where you guess the secret number chosen by a student. Understanding the trick requires knowledge of binary.

Image

Perfect Card Shuffling (Binary)

Knowledge of binary numbers and the ability to perform 'perfect shuffles' can allow you to shuffle the top card down to any desired position in the deck.

Image

Crossbin puzzles (Binary, Hexadecimal)

These are "crossword" puzzles where the clues are in hexadecimal and the answers are binary numbers. When the puzzle is complete, the grid forms a simple black & white image.

Encoding Data

How data is encoded for computers.

Image

Encode/Decode a text message

Worksheets to encode/decode a text message.

Image

Decode an ASCII-encoded text message

Decode a text message encoded using ASCII. You'll need to provide an ASCII chart for use with this sheet.

Image

BMP encoding

How a simple BMP image is encoded.

Image

Bitmaps (Binary, Hexadecimal)

Worksheets to encode black and white images as binary numbers.

Boolean Logic

(Worksheets AND TeacherNotes) for (Teaching OR Practice OR Homework)

Image

Object Properties

Assign boolean properties to objects and then use those properties to select a subset of the objects.

Image

Boolean Logic : Nethack

Review of basic boolean operations using examples from Nethack.

Image

Venn Diagrams

Using Venn Diagrams to represent the boolean operations.

Image

Boolean Operations to Venn Diagrams

Worksheets for converting boolean expressions into Venn Diagrams.

Image

Venn Diagrams to Boolean Operations

Worksheets for converting Venn Diagrams into a boolean expression.

Transistors

Worksheets for use with wooden transistor tiles (free designs available for laser-cutting) to teach how logic gates are built from transistors.

Image

nMOS, pMOS and CMOS Info

Image

CMOS Inverter Info

How an invertor can be built from an nMOS and a pMOS transistor.

Image

CMOS Inverter

Students build a inverter (NOT gate) using 1 set of transistor tiles.

Image

CMOS NAND

Students build a NAND gate using 2 sets of transistor tiles.

Image

CMOS NOR

Students build a NOR gate using 2 sets of transistor tiles.

Image

CMOS Inverter (no tiles)

Same as CMOS Inverter but without the tile outlines.

Image

CMOS NAND (no tiles)

Same as CMOS NAND but without the tile outlines.

Image

CMOS NOR (no tiles)

Same as CMOS NOR but without the tile outlines.

Logic Gates

Image

Gate Symbols

Image

Logic Gates

Image

Logic Gates - Test

Image

Universal Gates - NAND

Image

Lighten Up

Image

Lighten Up (Answer Key)

Image

Equivalent Circuits

Image

Equivalent Circuits (Answer Key)

How To Add

How computers perform addition. Some of these worksheets are intended to be used with wooden logic gate tiles (free designs available for laser-cutting).

Image

Single Digit Addition

Single-digit base-10 addition table. Reminder of what the students learned in elementary school.

Image

Sum and Carry Tables

Traditional base-10 addition table broken into separate sum and carry tables.

Image

Binary Addition Table

Binary equivalents for the base-10 addition tables.

Image

Half Adder

Constructing a half-adder using logic gates.

Image

Full Adder & Ripple Carry

Building a full adder from 2 half adders (with a ripple carry).

Image

Full Adder Tiles

Tiles for building a full adder.

HTML

Support materials for teaching HTML.

Image

HTML Tags

The most basic HTML tags: <b> and <i>.

Image

Simple HTML Document

A simple (but complete) HTML document.

Image

Common HTML Tags

A list of common HTML tags.

Image

Fonts

Typeface and font characteristics.

Image

HTML Colors

How HTML colors are encoded as hexadecimal RGB (red-green-blue) values.

JavaScript

Materials for learning how to program in JavaScript. Students create a simple platform-jumping game using the <canvas> tag (and a bunch of JavaScript, of course).

Image

Adventures in JavaScript

An online "branching path book" that shows you how to write a canvas-based JavaScript game (a classic platform-jumping game) during the course of the adventure.

Image

The Legend of JavaScript

This is a playable version of the game that the students will create in the Adventures in JavaScript activity.