Listing all results (125)

Sharing Secrets - Information Hiding Protocols

Cryptographic techniques enable information to be shared with other people, yet still maintain a surprisingly high level of privacy. This activity illustrates a situation where information is shared, and yet none of it is revealed: a group of students will calculate their average age without anyone having to reveal...

Ice Roads - Steiner Trees

Sometimes a small, seemingly insignificant, variation in the specification of a problem makes a huge difference in how difficult it is to solve. This activity, like the The Muddy City problem, is about finding short paths through networks....

The Poor Cartographer - Graph Colouring

Many optimization problems involve situations where certain events cannot occur at the same time, or where certain members of a set of objects cannot be adjacent. For example, anyone who has tried to time-table classes or meetings will have encountered the problem of satisfying the constraints on all the people...

Marching Orders - Programming Languages

Computers are usually programmed using a “language,” which is a limited vocabulary of instructions that can be obeyed. This activity gives students some experience with this aspect of programming. The resource begins with a demonstration of the marching order activity followed by the activity itself, together with...

Treasure Hunt - Finite State Automata

The students’ goal in this resource is to find Treasure Island. Friendly pirate ships sail along a fixed set of routes between the islands in this part of the world, offering rides to travellers. Each island has two departing ships, A and B, which students can choose to travel on in order to find the best route to...

The Orange Game - Routing and Deadlock in Networks

When there are a lot of people using one resource, such as cars using roads, or messages getting through the Internet, there is the possibility of “deadlock”. A way of working cooperatively is needed to avoid this happening. The resource begins with instructions on how to play the orange game. The activity contains...

The Muddy City - Minimal Spanning Trees

Our society is linked by many networks: telephone networks, utility supply networks, computer networks, and road networks. For a particular network there is usually some choice about where the roads, cables, or radio links can be placed. This resource explores the need to find ways of efficiently linking objects in...

Beat the Clock - Sorting Networks

Even though computers are fast, there is a limit to how quickly they can solve problems. One way to speed things up is to use several computers to solve different parts of a problem. In this activity sorting networks are used to do several sorting comparisons at the same time. This resource begins with a discussion...

Lightest and Heaviest - Sorting Algorithms

Computers are often used to arrange lists into some sort of order. For example, sorting names into alphabetical order, appointments or e-mail by date, or items in numerical order. Sorting lists helps us find things quickly, and also makes extreme values easy to see. If the wrong method is used, it can take a long...

Battleships - Searching Algorithms

Computers are often required to find information in large collections of data. They need to develop quick and efficient ways of doing this. This activity demonstrates three different search methods: linear searching, binary searching and hashing. This resource begins with the introductory activity of battleships....

Pages

View all publishers