TeachEngineering
Teach Engineering: Program Analysis Using App Inventor
In computer science, program analysis is used to determine the behavior of computer programs. Flow charts are an important tool for understanding how programs work by tracing control flow. Control flow is a graphical representation of...
TeachEngineering
Teach Engineering: Curiosity Killed the App
Students gain experience with the software/system design process, closely related to the engineering design process, to solve a problem. First, they learn about the Mars Curiosity rover and its mission, including the difficulties that...
Other
Exploring Computer Science: Scope and Sequence
Exploring Computer Science is one year course consisting of six, six week long units. The course was developed around a framework of both computer science content and computational practice where assignments and instruction are...
University of Canterbury
University of Canterbury: Cs Unplugged: Binary Numbers
With this lesson, educators can teach the binary system to anyone who can count. Using this approach, many adults are also excited when they finally understand what bits and bytes really are.
University of Canterbury
University of Canterbury; Cs Unplugged: Text Compression
Learn how compressed formats such as zip, gzip, or gif images are all based on a method called Ziv-Lempel coding, which turns out to be an interesting exercise in finding patterns in text.
University of Canterbury
University of Canterbury: Cs Unplugged: Information Theory
This activity uses variations on the game of 20 Questions to demonstrate how we can quantify information content, which in turn shows us how to store and share it efficiently when it comes to computer technology.
University of Canterbury
University of Canterbury: Cs Unplugged: Searching Algorithms
Explore the main algorithms that are used as the basis for keyword searching on computers, using different variations on the game of battleships.
University of Canterbury
University of Canterbury: Cs Unplugged: Sorting Algorithms
Many clever algorithms have been devised for sorting values into order efficiently. For this activity students compare different algorithms to sort weights to simulate how computers devise sorted lists.
University of Canterbury
University of Canterbury: Cs Unplugged: Sorting Networks
A student team activity that demonstrates an approach to parallel sorting, or how much computation can be done at the same time. It can be done on paper, but the instructional activity becomes more meaningful if the students do it on a...
University of Canterbury
University of Canterbury: Cs Unplugged: Minimal Spanning Trees
This puzzle shows students the decisions involved in linking a network between houses in a muddy city. It can lead on to a discussion of minimal spanning tree algorithms for optimizing networks.
University of Canterbury
University of Canterbury: Cs Unplugged: Routing and Deadlock
Computer networks are based on passing messages from computer to computer. This sounds simple in principle, but in practice all sorts of contention and bottlenecks can occur. This activity gives some first hand experience of such issues,...
University of Canterbury
University of Canterbury: Cs Unpluggeed: Network Protocols
Students learn what information makes up a protocol for bits of information added to messages to make sure they are sent over the internet.
University of Canterbury
University of Canterbury: Cs Unplugged: Finite State Automata
This student activity is based around a fictitious pirate story which leads to the unlikely topic of reasoning about patterns in sequences of characters. Experiencing this concretely will help lay the foundation for understanding finite...
University of Canterbury
University of Canterbury: Cs Unplugged: Programming Languages
Help build the foundation of understanding computer languages with this activity. Demonstrate some of the issues that arise when we try to give precise instructions to achieve a desired outcome.
University of Canterbury
University of Canterbury: Cs Unplugged: Graph Colouring
Introduce graph coloring, and lead students on to many variations and extensions that reach the cutting edge of computer science.
University of Canterbury
University of Canterbury: Cs Unplugged: Dominating Sets
This activity explores the dominating set problem, and sets it up as the basis for a the public key encryption activity.
University of Canterbury
University of Canterbury: Cs Unplugged: Steiner Trees
Steiner trees are another way to approach finding efficient networks between points. This is another tough problem from computer science, converted into an activity which is easy to explain, with variations suitable for higher-level...
University of Canterbury
University of Canterbury: Cs Unplugged: Information Hiding
This surprising technique discovered by computer scientists that seems impossible allows people to share personal certain kinds of information accurately without having to give up any privacy at all.
University of Canterbury
University of Canterbury: Cs Unplugged: Cryptographic Protocols
This is another activity that achieves something that doesn't seem possible- people who don't trust each other and can't see each other are able to agree on the outcome of a random coin flip.
University of Canterbury
University of Canterbury: Cs Unplugged: Public Key Encryption
This student activity about public key encryption allows learners to simulate encrypt and decrpyt messages without having to share a password to unlock them.
University of Canterbury
University of Canterbury: Cs Unplugged: Human Interface Design
This activity explores just how hard it is to get things right when it comes to designing good interfaces for computers.
University of Canterbury
University of Canterbury: Cs Unplugged: The Turing Test
Explore how we might recognize whether a system is truly intelligent. It involves reasoning about what it means to be intelligent, and even what makes us human.
University of Canterbury
University of Canterbury: Cs Unplugged: Community Activities
A collection of hands-on, physically-active lessons for learners ages five to twelve revolving around various computer science concepts.
Google
Cs Education at Google: Cs First: Art: Activity 2: Animation
A set of eight activities that teach students basic computer science concepts using the programming language Scratch. Includes lots of additional supports for teachers. All materials are free and teachers sign in to create a class. This...