Using the micro:bit and Scratch to teach children key concepts relating to programming and computational thinking