## 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...

### Hexadecimal

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...

# 2.1 Algorithm Design and Problem Solving

Click here for recommended Cambridge IGCSE Computer Science textbooks.
# 2.1.1 Problem Solving and Design

### VisuAlgo: Linked Lists, Queues, Stacks

Linked Lists (single and doubly linked), stacks, and queues are explained on this page from Visu Algo. The site is more than a simple animation of the data structures - it allows students to interact and perform different operations (insert, remove, find, etc), then displays the pseudo-code to achieve the result while showing an animation of the data structure.

*Updated: 2015-04-13*

### Algorithms in pseudocode and flow diagrams

This video from Cambridge GCSE Computing is an excellent introduction to algorithms, helping students understand what they are and how they are used. It also briefly introduces the idea of pseudo-code as a language for writing algorithms.

*Updated: 2015-04-13*

# 2.1.2 Pseudocode and flowcharts