Type with code!

Type with code!

Free tool to help you improve your typing speed whilst learning to code.

I have a few students who love tools where you can practise their typing skills to keep improving their word per minute (WPM) score.

I really like the competitive racing feature in Type Racer where students can race against each other but students can get frustrated because whilst it’s fun to play, it’s hard to improve because it doesn’t show you where the next key is that you need to press.

Some of my students thought it’d be fun to have an online tool where you can learn new programming skills as well as learning how to type faster.

I’ve put this typing tool together so that students can learn new Python or VB skills from the quick reference guide whilst also competing to get the fastest WPM typing score.

You can choose a specific topic in python or VB or jump into a random snippet of code and type it out as fast as you can.

  • Variables and constants
  • String manipulation
  • Builtin functions
  • Input and output
  • Arrays
  • Conditional logic
  • Repetition / Iteration
  • Functions / Procedures

Here’s the link: https://type.withcode.uk/

Free computer science subject knowledge enhancement resources for teachers

Free computer science subject knowledge enhancement resources for teachers

A few years ago I worked on a subject knowledge enhancement tool for Ebor Teaching Schools Alliance to support new teacher trainees pick up the necessary skills and understanding as they train. Since then, I’ve been working on ways to make that sort of support available to existing teachers as well as new trainees.

In preparation for a CPD session at STEM Learning in York for new and aspiring subject leaders of Computing today, I’ve made a free tool available to any teacher who wants access to free resources to support and develop their teaching and and learning of computing.

learn.withcode.uk now contains a Computer Science Subject Knowledge Enhancement course that you can use to rate your confidence in each aspect of the recommended subject knowledge requirements.

The subject knowledge enhancement tool will recommend a personalised target based on your confidence ratings in each area before directing you to a range of suitable free resources to help you develop your teaching and learning skills in that area.

Signing up for an account is free – just go to learn.withcode.uk and click on Computer Science Subject knowledge enhancement.

Let me know if you have any comments or suggestions on how to make it more useful.

CPU Fetch Decode Execute simulator for OCR A Level

CPUs work by following the fetch decode execute cycle.

Von Neumann CPU Simulator showing the fetch decode execute cycle
Von Neumann CPU Simulator showing the fetch decode execute cycle

At Key Stage 3, students in the UK need to have a good idea of the process as a whole:

The fetch decode execute cycle is the loop that CPUs constantly follow in order to get, understand and do each instruction in a program.

At Key Stage 3, students need to understand the role of different parts of a CPU in the Von Neumann model.

A Von Neumann CPU has one memory store (RAM) which stores both data (variables) and instructions (program code).

Registers are fast but small memory locations that can store one item of data or one instruction.

The Little Man Computer model is popular at both Key Stage 3 and Key Stage 4 because it simplifies what happens inside a CPU down to just three registers: an instruction register, an accumulator and a program counter with a very limited instruction set.

For A Level, some additional components have to be understood which makes the Little Man Computer model appear too limited to be used to explain all of the necessary theory. Students also need to be able to explain the purpose and function of:

  • The Memory Address Register (MAR) and Memory Data Register (MDR)
  • The Address Bus, The Control Bus and the Data Bus.

To help fill those gaps, I’ve built a CPU simulator based on the diagram shown in the Craig’n’Dave video below:

The simulator lets you enter in any values into the memory store (as binary, denary or hex) and then either run the whole code or step through each stage in the fetch decode execute cycle.

You can try the simulator here or download the source here.

This tool is designed as a teaching aid to allow teachers and students to step through each line in a binary computer program with an explanation of what each register and bus is doing at every stage.

I hope it’s useful. Let me know if you spot any mistakes or ideas for improvement.