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

1.1 Systems in Organisations

Click here for recommended IB Computer Science textbooks.

Interestingly (strangely?) the IB Computer Science subject guide doesn't make any mention of System Development Life Cycle (SDLC), but it does include components of each major step. These are spread between this section (1.1 Systems in Organisations) and 1.2 (System Design Basics). This section covers issues which are more user-oriented and related to the actual implementation of IT systems.

Click here for recommended IB Computer Science textbooks.

Planning and system installation


Software Development Lifecycle in 9 minutes!

This is quite an entertaining overview of the SDLC, with clear examples of what happens at each stage. Note that the stages in the SDLC are broken down in different ways by different people (for example, here they count planning and analysis as two separate stages - often they are incorporated into one). However, the content is sound and highlights the need for clear boundaries between the tasks in each stage.

Updated: 2019-03-14

1.1.3 Compatibility issues

When implementing new systems there may be (in)compatibility issues with existing hardware or software. You need to be aware of the issues that can arise - especially in the international context, where language and number systems can be significantly different.

1.1.4 Local and remote hosting

This topic involves comparing systems hosted locally on a client computer with those hosted on a remote computer. This remote hosting could refer to Software as a Service (Saas) or Infrastructure as a Service (Iaas).

Software as a Service (Saas) video

Software as a Service (Saas)

This short video gives an overview of Software as a Service (SaaS), which should be a useful starting point for a discussion of the benefits and drawbacks compared to local hosting.
Updated: 2018-11-08
Amazon Elastic Cloud video

Amazon EC2 - Elastic Cloud Server

Amazon Elastic Cloud (Amazon EC) is a good example of Infrastructure as a Service (Iaas). This video clearly explains how processing power, memory, and disk storage can be "rented" from Amazon over the Internet, dynamically increasing and reducing resources as required.
Updated: 2018-11-08

1.1.5 Installation processes (Changeover processes)

For this topic you need to know the difference between the main ways of performing a changeover to a new system. The IB refers to these as "installation" processes and you might also hear them called "implementation" processes. The main ways are:

  • Direct changeover
  • Pilot changeover
  • Phased changeover
  • Parallel changeover

You should be aware of the advantages and disadvantages of each method.


Changeover notes

IGCSE ICT provide short but clear notes and diagrams covering the different types of changeover.
Updated: 2018-11-08

1.1.6 Data migration

Data migration is the process of moving data from one (old) system to another (new) system. Various issues can occur depending on the file format, data structure, and other issues. Data migration is closely linked to 1.1.3 Compatibility issues, as the data may also be stored on old media (e.g. floppy disks, tapes, ZIP drives, etc).



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

1.1.7 Types of testing

You should understand the different types of testing (alpha testing, beta testing, user acceptance testing), and the debugging process. You should also be aware of the critical importance of testing and the consequences of insufficient testing. Finally, you should be aware that there are tools to automate parts of the testing process.

1.1.8 and 1.1.9 User documentation

1.10 User training

1.1.11 Causes of data loss

Data security

Examples of database security problems

The news articles below cover some of the major risks of malicious actions such as hacking or malware. Myriad examples of these problems exist (and new ones seem to appear every few weeks), but the examples below highlight some of the more famous cases (and the greatest losses).

Updated: 2015-04-18

1.1.12 Consequences of data loss

1.1.13 Preventing data loss

You should know about a variety of systems for preventing data loss. In addition to regular backup systems, these also include systems to prevent downtime, such as failover systems and redundant systems.

1.1.14 Managing releases and updates