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

CommandPoint CAD

CommandPoint by Northrop Grumman offers a range of CAD systems for various ...

CAD+911 System

TriTech Software Systems is a company that specialises in Computer Aided Di...

London Ambulance CAD failure

The 1992 London Ambulance Service CAD failure is probably the most notoriou...

Washington State 911 Failure

A 911 emergency telephone system in Washington State and Oregon shut down f...

London ambulance failure (2017)

A 2017 failure of a London ambulance dispatch system is believed to have le...

Computer Aided Dispatch outage

A 911 system failure left emergency calls unanswered and is said to have co...

Load balancing videos

This short article and the associated video explain 5 load balancing algori...

Intergraph Computer-Aided Dispatch (I/CAD

Intergraph Computer-Aided Dispatch (I/CAD) is a system offering many of the...

Boolean logic worksheet pack

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

Resources discount offer

D.3 Program development

Click here for recommended IB Computer Science textbooks.

D.3.8 Static arrays

Data structures

Data Structures

This video explains different types of data structures - 1 dimensional arrays (or just 'arrays'), 2 dimensional arrays, and records. The example code is given in Python, which makes this video perfect for many GCSE courses.


Updated: 2018-02-17

D.3.9 Internationalization

Internationalization

Internationalization

This pair of videos from Computerphile explain some of the issues that arise when trying to create software for international audiences. The first, The Problem with Time & Timezones covers issues with global time calculations and some of the special cases which exist.

The second, Internationalis(z)ing Code, covers many issues relating to language - which go far, far beyond simple ASCII and Unicode character set issues.

The videos use multiple real life examples to highlight social and cultural differences across the globe, and how they affect programmers. They are implicitly address quite a few issues related to the IB TOK course.


Updated: 2015-05-25

D.3.10 Ethical and moral obligations of programmers

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

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