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

UK Computing Laws

This video from Computer Science Tutor covers the main UK computing laws re...

Wireless Networking (Wi-Fi, Security, and Hardware)

This video about wireless networking includes everything that is needed for...

Network topology videos

These four excellent videos from Computer Science tutor cover the four ma...

Network protocols

These four videos explain the main networking protocols that students are l...

Embedded Systems video

This short video is a good over of embedded systems, covering the main poin...

Representing Text in Binary

This video clearly explains the two main ways of representing text in binar...

Types of Malware

This video explains the various types of malware including viruses and troj...

Protecting against Malware

Following on from the Types of Malware video, this video explains technique...

Video: Network Security #1

This video gives an overview of the threats to networked computer systems, ...

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