Teach Computing

Revision notes, activities, lesson plans, teaching ideas, and other resources for GCSE, A-Level, and IB Computer Science teachers and students.

What's New

Examples of Local Cryptocurrencies

Digital Money for Local Communities covers three examples of country-wide c...

Hash function A hash function takes arbitrary sized input data (e.g. a fil...

Cryptocurrencies vs regular currencies

What is Bitcoin and How Does it Work? is a high level overview of the Bitco...

Examples of Cryptocurrencies

Bitcoin is by far the most well known cryptocurrency. The Bitcoin website w...

Practice paper 3 exam questions

One of the drawbacks of the yearly case study is that there are no past p...

Emergency Management System Explainer Video

This short video gives an overview of some EMIS features. It includes many ...

Geographic Information Systems (GIS)

For some functionality, an EMIS may also be connected to a GIS (Geographic ...

Programming languages - from Scratch to machine code

The CS Field Guide has a very comprehensive guide to different types of pro...

Assembly language simulators

There are several assembly language simulators available for use online. Si...

Resources discount offer

Case Study 2020 - A local economy driven by blockchain

The IB Computer Science case study 2020 deals with digital currencies (cryptocurrencies) based on blockchain technology. Specifically, it examines the technology behind the fictional MONS cryptocurrency in Santa Monica. Pablo (the mayor of Santa Monica) and Dolores (a resident) have suggested a new local currency to improve the economy.

A local economy driven by blockchain is the case study for May and November 2020 only. The Computer Science case study for November 2019 is A New Computer Aided Dispatch System for Bangbai

Click here for recommended IB Computer Science textbooks.

Overview of Cryptocurrencies

The resources here provide a summary of current cryptocurrencies. They do not necessarily go into the level of detail required for the IB Computer Science case study, but they provide a good idea of the currencies that already exist. Local cryptocurrencies, similar to the fictitious MONS currency in the case study, are covered in a separate section further down the page.

Cryptocurrencies

Cryptocurrencies vs regular currencies

What is Bitcoin and How Does it Work? is a high level overview of the Bitcoin cryptocurrency. It includes an explanation of how it differs from traditional currencies (this may seem obvious but there are many nuances).

The Best Cryptocurrency Exchanges explains what cryptocurrency exchanges are, and the relative benefits and drawbacks of some of the most popular. As an essential component of cryptocurrencies, it is critical that students understand the role of these exchanges.


Updated: 2019-10-16
Crypto examples

Examples of Cryptocurrencies

Bitcoin is by far the most well known cryptocurrency. The Bitcoin website would be an obvious place to start, with a clear video explaining what the currency is.

What Are the Most Popular Cryptocurrencies? is a regularly updated page with information about currently popular cryptocurrencies and their prices. It includes histories of the currencies and some of their relative benefits. The 10 Most Important Cryptocurrencies Other Than Bitcoin does exactly what it says on the tin, and is useful background reading.


Updated: 2019-10-16

Background Technologies

Cryptocurency is based on a number of technologies which IB Computer Science students may find beneficial to understand in isolation before moving on to cryptocurrency. These technologies are covered below:

Background technologies

Hash function

A hash function takes arbitrary sized input data (e.g. a file), and maps it to a fixed-size value (e.g. a 4 byte value). The output (the hash) can be thought of as a "summary" of the input data. Hash functions are one-way - it is not possible to reconstruct the input data from the output data.

As an extremely simple example, imagine a hash function which took names as input and mapped them to numbers based on the first letter of the name. A would get mapped to 1, B to 2, up to Z being mapped to 26. There is an infinite number of possible names, but there is a finite set of outputs - 26. In the image below, there is a collision between John Smith and Jane Snow because they both map to 10 (J being the 10th letter of the alphabet). Note also that we cannot get back to the original data from the hash value: 2 might lead us to Brian Harris, but it could also lead to Bobby Smith, Betty Granger, and any other name starting with B.

Hash function

Because there are (infinitely) many input values and a fixed range of output values, sometimes hash collisions occur: i.e. more than one input value maps to the same hash (output). It would be useful for students to understand the difference between a hash function and a cryptographic hash function (see below).

Cryptographic Hash

A cryptographic hash is a hash function (see above) with some additional requirements for security. These requirements include making it difficult to find collisions, and making the output appear random. Cryptographic and Non-Cryptographic Hash Functions is a good explanation of the difference between the two.


Updated: 2019-10-17

How Cryptocurrencies Work

This section explains how cryptocurrencies work, and how they combat key potential problems such as double-spending.

Key Terms

The Computer Science Case Study booklet includes a list of key terms related to cryptocurrencies. Although the explanations above use these terms frequently, they do not necessarily explain them in depth. Below is a glossary of these essential terms.

Local Cryptocurrencies

The case study booklet specifically says "Discussion of the economic arguments for or against local currencies and cryptocurrencies is beyond the scope of this case study.". However, it is reasonable to think that students should have an understanding of the basic potential benefits of local cryptocurrency and the potential concerns (whether valid or not) that citizens of Santa Monica may have.