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.

# Number Systems

Materials for teaching binary, octal, decimal and hexadecimal.

## Octal countingThese worksheets introduce the students to a non-decimal number system (in this case, octal) by having them count objects in both octal and decimal. |
## Octal dotsThis 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. |
## Counting in octalIn this simple worksheet, the student counts from 0 to 77 in octal (which corresponds to 0 to 63 in decimal). |
## Counting in binaryIn this worksheet, the student counts from 0 to 111111 in binary (which corresponds to 0 to 63 in decimal). |

## Converting from binary to decimalWorksheet showing how to convert from binary to decimal. |
## Converting from decimal to binaryWorksheet showing how to convert from decimal to binary. |
## Converting from binary to octalWorksheet showing how to convert from binary to octal. |
## Converting from binary to hexadecimalWorksheet showing how to convert from binary to hexadecimal. |

## Binary magic trickA 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. |
## 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. |
## 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. |
## Counting in HexadecimalIn this worksheet, the student counts from 0 to 63 (but in hexadecimal, so it's really 0 to 4F). |

## Number cards (Binary, Octal, Decimal, Hexadecimal)Playing-card sized cards that can be used to compare the different number systems. |
## Bitmaps (Binary, Hexadecimal)Worksheets to encode black and white images as binary numbers. |

# Boolean Logic

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

## Object PropertiesAssign boolean properties to objects and then use those properties to select a subset of the objects. |
## Boolean Logic : NethackReview of basic boolean operations using examples from Nethack. |

# General Computer Science

Materials on general computer science topics.

## How Computers WorkAn activity for 3 students to act out the various parts of a computer: CPU, ALU/Memory and Display. |
## How the Internet WorksAn activity for a group of students to act out the various parts of the internet: websites, routers, nameservers, ISPs and home computers. |

# Miscellaneous

Support materials and templates for creating documents.

## PlainCards TemplateBlank template for printing on PlainCards 'playing card'-sized micro-perforated cardstock. |