Can I teach computer science without computers?

Teacher question · Computer Science

Can I teach computer science without computers?

Yes, for a large part of it. Algorithms, binary, how images are stored, how the internet moves data and how encryption works can all be taught with paper, cards and students acting things out. Writing real programs still needs some screen time, but unplugged lessons make that time count. This page covers what works offline, where it falls short, a five-lesson sequence and units that support it.

See the Grades 6–9 CS units
Algorithms on paperPrecise steps, tested by classmates
Binary with cardsFive cards count from 0 to 31
Code still needs screensSave device time for programming
Quick answer

You can teach much of computer science without computers. Unplugged lessons cover algorithms, debugging, binary numbers, pixel images, networks and encryption using paper, cards and role play. Students write step-by-step instructions, encode messages, act as data packets and crack simple ciphers. Programming itself still needs devices, so use unplugged work to build the thinking first, then spend whatever computer time you have on writing and testing short programs.

Ready-made material

Coding & Computer Basics Units Bundle, Grades 6–9

4 resources in one download: $69.99 instead of $99.96 bought separately.

The first cover is the main resource; the others are related options. Open any cover for the full contents and price.

Why it is hard

Where unplugged CS helps, and where it falls short

Many middle school teachers are handed a computer science class with no laptop cart, a shared lab booked by other teachers, or devices that cannot install anything. Others are new to CS and nervous about coding in front of thirty students. Unplugged lessons solve a lot of this, but they come with traps. The first is that students start to see CS as puzzles and games with no link to real computers, so binary cards stay a trick and never connect to how a photo is stored. Another is that instructions written on paper are too forgiving: classmates fill the gaps with common sense, while a computer would not. Students in Grades 6 to 9 also carry misconceptions. Many think computers understand what we mean, that the internet is a single place where things are stored, or that deleting something online makes it disappear. Some think coding is only for 'math people' and decide early that CS is not for them. And when a class finally gets device time after weeks unplugged, the gap between drawing an algorithm and typing working Python can feel huge if no one bridges it with pseudocode and tracing.

What works

Unplugged activities that teach real CS

Each activity maps to a real computing idea. Name that idea out loud every time so the link to computers stays clear.

  • Have students write exact instructions for drawing a shape, then follow them literally to expose bugs.
  • Use five binary cards with 1, 2, 4, 8 and 16 dots to count and encode numbers.
  • Color pixel images on grid paper from a code, then compress them by describing runs.
  • Pass paper data packets around the room with addresses to model how messages travel online.
  • Encode and crack Caesar cipher messages, then discuss why real encryption needs much bigger keys.
  • Trace short pseudocode programs by hand, tracking each variable in a table.

Step by step

A five-lesson unplugged sequence

Each lesson fits a standard middle school period and needs only paper, markers and printed cards. Add device time at the end if you have it.

  1. Algorithms and bugsStudents write instructions for a partner to draw a hidden picture. Compare results, find the unclear steps and rewrite them. Introduce the words algorithm, sequence and bug.
  2. Binary numbersUse five dot cards to show numbers by flipping cards face up or down. Students encode their age and a secret number, then decode a classmate's message.
  3. Pictures as dataStudents color a pixel grid from a list of zeros and ones, then design their own image and write the code for a partner to reproduce.
  4. How the internet moves dataSplit a message into numbered paper packets with addresses. Students route packets through the room and reassemble the message, even when packets arrive out of order.
  5. From pseudocode to codeWrite a simple guessing game in pseudocode with an if statement and a loop. Trace it by hand, then type it in Python if devices are available.

Ready-made option

Computer science units that work on paper first

The Coding & Computer Basics Units Bundle ($69.99, parts bought separately $99.96) holds four units for Grades 6–9: algorithms and computational thinking, programming with Python, binary and digital images, and how the internet works. Each unit has worksheets on four levels (Basic, Standard, Plus, Project), a reading text, a hands-on deep-dive task, slides for the whole unit and full answer keys. For a single starting point, Programming with Python costs $24.99 and covers print, variables, input, if statements, loops and a mini-project. For online safety topics, the AI & Cybersecurity Units Bundle ($89.99) adds six units, including encryption and phishing.

See the full contents on the product page →

Honest limits

What the units do not supply

The units are printable and digital teaching materials. They include no software, coding platform, student accounts or devices, so the Python unit runs on whatever computers and Python setup your school already has. You decide how much to teach unplugged and when to move to screens. Check the topics against your state's computer science standards; the store makes no alignment claim. A department or school that wants to share the units should send Teach Lessons a short message first. If the bundle does not fit, you can exchange it within 7 days for store credit of equal value. It is not a cash refund.

Good to know

More teacher questions

Can students really learn to program without a computer?

They can learn the thinking behind programming: sequence, conditions, loops, variables and debugging. Tracing pseudocode by hand is valuable even for experienced programmers. To actually write and run code, though, students need some device time. Even a few sessions in a shared lab go further when students arrive with the logic already worked out.

I have never taught coding. Where should I start?

Start with algorithms and binary, which need no technical setup and build your confidence alongside the students'. Learn just ahead of the class, and use materials with full answer keys and teacher slides. When you move to Python, begin with print and variables and let students experiment.

Does this material match my state's computer science standards?

The store does not claim alignment with CSTA standards or any state's computer science standards. Read your state's middle school CS standards next to the unit list and mark which topics overlap, such as algorithms, data representation and networks. Fill gaps with your own lessons and confirm course requirements with your district.

How do I keep unplugged lessons from feeling like games only?

Name the computing idea at the start and end of every activity, and show a real example: a photo file for pixel grids, a website loading for packets. Ask students to write one sentence connecting the activity to how a computer works. That sentence turns a game into a lesson.

What about students who already code at home?

Give them harder versions: write the pseudocode for a sorting method, design a cipher that is harder to crack, or compress a pixel image more efficiently. Worksheets on several levels help here. They can also act as debuggers for classmates' algorithms, which tests their own understanding.

Can unplugged CS work for a sub day?

Yes. Binary cards, pixel grids and cipher puzzles need only printed sheets and clear instructions, which makes them reliable sub plans. Leave the answer key with the sub and choose an activity students have already seen once so the routine is familiar and the sub does not need to explain much.

Paper first, screens when you can

No laptop cart is no reason to skip computer science. Start with a stack of cards and a clear algorithm, and save device time for the moment students are ready to code.

See the Grades 6–9 CS units