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

Boolean logic worksheet pack

These three Boolean logic worksheets have exam style questions on logic sta...

Edexcel Computer Science (9-1)

by Ann Weidmann et al Amazon.com | Amazon.co.uk | Book Depository This bo...

Dijkstra's algorithm video

This video is probably the best explanation of Dijkstra's algorithm for IB ...

Input-Process-Output (IPO) Model

The Input-Process-Output model is a simple topic but some students sometime...


A comprehensive review of hexadecimal. The video covers not only how to u...

Subprograms, Local Variables & Structured Programming

Subprograms are known by several different names - methods, functions, proc...

Utility Software and Models

Some students find the difference between operating system software and ut...

Data Structures

This video explains different types of data structures - 1 dimensional ar...

Operating System (OS) - GCSE Computer Science

A detailed overview of operating systems, starting with the general tasks t...

1.7 Ethics and Ownership

Click here for recommended Cambridge A-Level Computer Science textbooks.

1.7.1 Ethics

Software development ethical case studies

The following ethical case studies involving software developers make excellent material for assignments or classroom discussions and debates:

The Occidental Engineering Case Study from Santa Clara University. This case study focuses on a software engineer pressured by management to certify a safety critical system he knows is not finished.

Therac-25 is a classic computer science case study. Between 1985 and 1987, software errors in the Therac-25 radiation therapy machine caused death or severe injury to six patients. Involving mistakes throughout the development and support processes, the case highlights the need for professional standards when dealing with safety critical systems.

Updated: 2015-04-29

1.7.2 Ownership

Free software

Free Software

Free software is a video which does a good job of explaining how free software is much more than free (gratis). It talks about the freedoms offered by FOSS and provides lots of examples. It also covers some of the more practical benefits of free software by explaining problems that can occur when commercial closed source developers drop support for their older versions.

A common question that students ask is how companies can make money with free software. Where's the money in free software? accompanies the above video and addresses this issue.

Updated: 2015-04-29
Linux Live Distributions

Linux Live distributions

Linux is one of the best-known examples of free software and today many Linux distributions include live CD functionality that allow users to try the operating system without formatting or partitioning their hard drives. Trying a live distribution from CD (or USB flash disk for better performance) can be a great way to introduce students to free software and the programs that are available in a relatively safe environment.

Updated: 2015-04-20
Open source software

Open Source vs Free Software

The Open Source Initiative page has a very clear definition of what it considers to be open source software. The Free Software Foundation page is slightly less clear but also worth reading. It should be remembered that although often grouped together, "open source software" and "free software" are not the same thing.

Updated: 2015-04-29