Skip to main content

Computer Science from the Metal Up

Downloaded: 139

Last edit: 08 August 2022

English Key Stage 16-18 Years (KS5)
Scottish Curriculum Levels S4 - National 4/5 (15-16 years), S5 Higher (16-17 years), S6 Advanced Higher (17-18 years)
Resource Type Worksheets and Activities, Schemes of Work (Programming Units and Curriculum), References, Guidebooks and Handbooks
Curriculum Topic Algorithmic Thinking, Creating Media, Computer Networks, Computer Systems, Data & Information, Design & Development, Effective use of tools, Impact of technology, Programming, Safety & Security

Update 8th October 2020:

This page has now been made public, and the Student Version of each book (with associated resources) added directly to this page.

For the Teacher Version - and further explanation - of each resource, please follow the links below.

You will need a CAS log-in to access the teacher resources, or you may request them by emailing the author (rpawson at metalup.org) - in which case please attach a link to your profile page on your school/college website, or other confirmation that you are a teacher.

Computer Science from the Metal Up is a set of resources written specifically to support the teaching of A-level Computer Science. The resources adopt a rather different approach to that found in most A-level Computer Science textbooks:

  • The resources aim to build understanding, rather than simply ‘teaching to the exam’. These resources are intended to be followed by practice of past exam questions, readily available online, but there are deliberately no exam-style questions in the resources themselves.
  • Emphasis is placed on the ‘why’ rather than just the ‘what’: where possible each new idea is introduced as the response to a specific need, building a clear narrative around the technology.
  • ‘Learning by doing’, wherever possible. This takes two primary forms: by constructing a solution, and/or by exploring a ready-made simulation.
  • As much use of program code as possible. This has two motivations: it aids understanding of the principles being taught, and it increases fluency in coding, which will help pupils taking any on-screen programming exam, and, especially, those undertaking a programming project.

Most of the resources are published with both Student and Teacher editions, the latter including model answers – and a simple Electronic Answer Document (EAD). Where the resources involve programming, the hope is to provide versions of the resources customised for specific programming languages, the range of languages broadening over time.

Published resources

Object-oriented Programming - with a Foreword by Alan Kay

Learn OOP by building two different substantial and interesting applications from scratch: an interactive drawing program, and a records management system. - Student Version & associated resources may be downloaded from _this_ page (below). - [Teacher Version & further explanation]

Assembly Language Programming

Learn how to write interesting programs in assembly language using the purpose-written ARMlite simulator. - Student Version & associated resources may be downloaded from _this_ page (below). - [Teacher Version & further explanation]

Functional Programming

Learn the principles of Functional Programming using Haskell, and how to adopt the same approach in C# or VB. - Student Version & associated resources may be downloaded from _this_ page (below). - [Teacher Version & further explanation]

Understanding REST

Explore a working RESTful API to understand how REST works and why it is so important an idea. - Student Version & associated resources may be downloaded from _this_ page (below). - [Teacher Version & further explanation]

Ray Tracing

Explore a visually-interesting ‘ray tracing’ graphics program, to reinforce understanding of OOP and of vectors. - Student Version & associated resources may be downloaded from _this_ page (below). - [Teacher Version & further explanation]

An Introduction to Programming in C# for pre-university Maths/Science pupils

Unlike the other resources in the series, this one is aimed at A-level pupils _not_ taking A-level Computer Science. It teaches modern programming techniques in a Maths/Science context. - Student Version & associated resources may be downloaded from _this_ page (below). - [Teacher Version & further explanation]

Further resources in the series are planned. For enquiries please contact Richard Pawson (rpawson at metalup.org)