I spent some time this summer creating a course for the brand new repl.it curriculum hub. This new educational initiative from repl.it is seeing creators develop resources and curricula to support a variety of different learning activities.

I’ve developed Python for GCSE which is focused around using Python and the standard libraries to develop the skills necessary to complete the NEA. It includes:

  • Creating Command Line Menus
  • Validation
  • Calculating Values
  • Creating Records
  • Autosave and Autoload
  • Manipulating Data

As well as two large scale projects based on a Pizza Delivery Service and an eSports league.

Each unit includes activities and worked answers that can be pushed out to students through repl.it’s Teams feature, but it also includes a lesson plan for delivering in a classroom environment.

If you’re interested take a look at the repl.it Curriculum Hub.

I was very pleased to be a part of this project and really enjoyed working on it; I hope you’ll find some use out of what we created!

At GCSE the assembly code we teach for WJEC Computer Science is an abridged form of Little Man Computer, and the topic exists in both the theory exam as well as the practical exam, but this has its problems.

First, the topic has never come up in an actual practical exam paper, and the legacy exam papers were very much of a piece, therefore it’s difficult to justify spending a lot of time in-class delivering this topic.

Secondly, the fact that it’s LMC minus the conditional branching instructions means that nearly all the resources available online are useless as students tend to switch off if the material isn’t 100% what they need.

Third, the free learning materials provided on the exam board’s website show that this topic isn’t anyone’s focus – the written guide barely acknowledges it and when it does it get’s the instructions wrong – seriously, they get the order of the subtract backwards – which means confidence in students learning this on their own is limited.

Finally, there’s not a massive overlap between the theory exam version of this topic and the practical, meaning that if or when the question gets asked in a practical exam the students will be running on applied common sense rather than their knowledge.

Anyway – you know me – I’m all about giving students as much of the ‘why’ as possible to ensure that they have the best chance of recalling a topic in an effective way.

I set out to make a comprehensive set of video lessons to replace my one-lesson special on the subject. My previous Greenfoot videos were the basis for the style here,  so I decided that videos had to have the following characteristics:

  • Must cover the content from the 2017+ spec (current) including everything asked for in the specification including the plan, design, test and refine skills
  • Explain WHY the instructions work in the way they do
  • Fully explain and demonstrate Von Neumann and the fetch-decode-execute cycle
  • Have purpose build graphics and animations to support dual coding and explanations
  • Make it scripted so that there’s not lots of pausing for code or thinking
  • Give it a bit of personality so that it’s not the world’s most boring video course

After 30+ hours of development I hope I’ve acheived this with this video set. If you’re interested in taking a look please do, you’re welcome to use them for your lessons, self study or distance learning. 

As ever feedback is encouraged and appreciated, and if you get some mileage out of my resources I can point you to my posters if you fancy making your classroom a little brighter and supporting the site.

 

YouTube Playlist

The link to the youTube playlist that contains all of the lessons. 

I’ve been teaching programming in Computer Science for fifteen years and I’m always looking for ways to make it better. Most recently I’ve been focussing on how students can take better notes when learning the concepts of programming through code, and I think I have a working model for note taking when dealing with code examples.

There is compelling evidence that hand-writing aids in the retention of information, so it’s important to ask students to hand write their notes when learning about a topic and programming is no exception.

After lots of versioning and trial and error I’ve come up with a two-page (or one double sided print) to support students in clear and useful note taking when learning code.

The front of the sheet is designed for notation of code samples and includes:

  • 18 code lines with indentation guides to support the syntax of Python and Pseudo as well as properly formatted code in other languages
  • Line-by-line annotation to encourage clear, descriptive explanations of code blocks
  • Topic, Concept, Filename, ELI5 (explain like I’m five) and Keywords boxes to encourage students to think about and explain what they’ve learned.
  • RAG rating for instant access to levels of understanding

The back is set up for further analysis, including:

  • Trace tables to dry run algorithms and code samples
  • Notes lined section for students own notes about the topics
  • Sections for Date and the Programming language to allow for searching later
  • Cheat sheet to allow students to identify key parts of code that they can reuse later
  • WWW, EBI section to allow evaluation of their practice

I’d really love to see what you can achieve by giving these a go, print them out for your students and run your programming lessons as normal – hopefully you’ll see the same sort of improvements that I am.

Go on, grab ’em – they’re free! If you want to support my work and say thanks then consider buying my classroom posters.

Download A4 PDF

Download A3 PDF

These remain the copyright of lessonhacker.com and are licensed to you for use freely in your lessons without modification. They should not be edited, remixed or reused in any other way  and are definitely not for reuse in a commercial sense without written permission.

Since I’ve turned to the dark side, and been developing A-Level resources for Python, I thought I’d take a stab at putting some of the more important syntax into poster form so that I can distribute them around the classroom. They cover a basic syntax of everything you’d need up to, and including, using lists as if they were arrays (I know!).

So far there are four posters, I’ve got them in my RedBubble shop if you’d like to buy them and support me. It’ll also brighten up your classroom considerably!

python-thumb-01python-thumb-03  python-thumb-02 python-thumb-04

Buy on Red Bubble Basics, Selection, Iteration, Arrays