The following resources are available for purchase from Schoolcoders:
Alternatively, you can purchase a complete set of all our Schoolcoders classroom resources from Gumroad. The price is £50 for a whole school license (covering a single geographical location).
Schoolcoders classroom resources include all the resources listed above, plus the extra bonus resources listed below.
Algorithms - linear search
Search algorithms are used in many areas of computing - finding a word in a document, finding a file on disk, finding an entry in a database. More complex algorithms are used to by search engines find relevant pages on the entire web Here the objective is to understand how simple search algorithms work, what their characteristics are, and how to implement them in code.
Workbook and solutions, presentation. Understanding the simplest algorithm, Linear Search.
Scripting Inkscape in Python
Vector graphics has important applications in gaming, computer GUIs, data visualisation and computer art. In this topic we will use Python to create SVG files. This is the format used by Inkscape, so students can use Inkscape to open, edit or print their creations. Also, with modern HTML, SVG can also be added to a web page. The basics vector graphics primitives transfer across to other system, for example the HTML5 canvas is similar to SVG. Here we will:
- Learn the basics of SVG and vector graphics
- Use the Python SVG library
Getting started - workbook and teachers’ notes show how to set up Python to create SVG files, and shows how to draw basic shapes with different fill and line styles.
Creating charts - workbook shows how to create bar charts, line charts and pie charts. These can be opened in Inkscape, edited, saved as PNG, and included in other documents or on a web page.
Creating Spirographs - workbook shows how to create a variety of Spirographs, and experiment with parameters and colours. The results are extremely high quality and can be printed at poster size.
Sound is an important but sometimes over-looked area in computing. It has obvious applications in entertainment (music and games), but is also important in telecomms, online education, film and music production, and speech based computer interfaces. In compute science terms it involves areas of sampling, compression, sound synthesis and analysis, and natural language processing.
In this topic students will learn the basics of computer sound:
- How sound is represented and stored by a computer
- The types of compression used by common file formats
- How to create simple waveforms in code
Getting started - presentation, workbooks and teachers’ notes show how the basics of computer sound, how sound is recorded and played back, and the differences between common sound file formats. Also shows how to set up the pysound module, and how to create simple waveform in Python code. Illustrates sample rates, bit depth, and the characteristics of simple sounds - frequency, amplitude and wave shape.
Sound effects - workbook and teachers’ notes show how to create various siren and laser gun sound effects in Python code.
A simple Python Flask webserver
You have probably created a simple HTML page in an editor, and view it in your browser. This project goes a stage further, creating a fully fledged webserver, complete with dynamic pages importing information from a database. By using Flask and SQLite, the whole project can be completed in easy to understand Python code, with minimal setup requirements.
In this topic students will:
- Understand Flask, Python webserver module
- Install and run Flask
- Recap HTML and CSS
Getting started - the first workbook goes through the simple steps to set up Flask. The second workbook recaps on how simple HTML and CSS files are structured.
A simple site - workbook uses Python and Flask to create a simple two page site using HTML templates and parameters. There is also a presentation covering webserver functionality, and how hosting services work.
Pi has fascinated mathematicians for centuries, and many different methods have been devised to calculate its value. Since computers were invented, programmers have been calculating Pi to ever greater degrees of accuracy (currently it is known to billions of decimal places). In this topic we investigate some of the methods used.
In this exercise students will learn how to convert various simple algorithms into code - from the intuitive “area” counting algorithm through to various infinite series, where the task is to spot patterns in the formulas and implement them in a loop.
The exercise illustrates how different algorithms can have different rates of convergence, even though they are calculating the same value. It also introduces the two concepts of accuracy and precision.
The workbook presents several different algorithms for calculating Pi, which the student can convert to code, and then record how quickly each algorithm converges to the correct result.