Tagged: computational thinking

Updated GCSE Computing revision pack.

Below is a link to a GCSE Computing revision pack that i have recently updated (and simplified) which focuses on past paper exam questions.

A451 revision booklet [.pptx]  [.PDF]

The booklet is split into theory topics and allows students to:

  • identify gaps in knowledge before attempting questions.
  • define keywords and build subject specific vocabulary.
  • mind map key areas of each topic.
  • attempt past paper questions by topic.

You can read more about my thoughts on revision here.

Feedback welcome!

**Also check out this great resource from @teknoteacher – GCSE Computing revision.

Here’s a video in which he explains the use of the resource – click here.

He is also running a series of free computing webinars for teachers – click here to find out more.

GCSE Computing revision materials.

GCSE Computing revision materials.

Image by @gapingvoid

Image by @gapingvoid

This is a work in progress. This post will be updated regularly over the next few weeks to cover the OCR GCSE Computing syllabus. The resources can be easily adapted if needed. Feedback welcome!

Read more about the approach to revision I’m trialling here.


1. Computer Systems

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]

2. Hardware

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]

3. Software

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]

4. Data representation

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]

5. Databases

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]

6. Networks

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]

7. Programming:

Self-reflection[PDF] [.DOC] | Chunked revision booklet [PDF] [.PPT] | Multiple choice questions [PDF]


Tips for teaching Computing for the first time (list of resources included)

Influenced by a strong moral purpose to give students exciting, challenging lessons and a balance of computer science, IT & digital literacy, this time last year I started planning to deliver Computing. The first thing my lizard brain (see Seth Godin’s post) shouted out was “Ahhhhh coding, coding, codinggggg!!!” At this point it would have been quite easy to not make the change, but returning to my moral purpose of improving the experience for the students I teach, I decided to carry on. Over the last year I have learnt a lot (blog post reflecting on my first year teaching Computing is coming soon!) about Computing and engagement / challenge for students is up in lessons.

If you are reading this post there is a good chance you are either considering introducing, in the midst of planning or have already been teaching Computing. Below are some things I’ve learnt (loosely resemble ‘top tips’ – sounds a bit cheesy and I’m by no means an expert!) over the last year that I thought I’d share.

1. Practice makes better. Don’t put off learning to program, start now, right now after reading this. Go to code academy (http://www.codecademy.com) or Khan Academy (http://www.khanacademy.org/cs) or one of the other many online tutorial sites.

2. Do ‘little and often’ to ensure you remember what you learnt previously.

3. Accept failure as part of the journey to success. It’s unlikely you’ll get everything right first time, but be courageous and give it a go. Learn from your mistakes, that’s what we keep telling the students isn’t it?!

4. Start a Computing Club and use it as a laboratory to road test new technologies, activities , e.t.c. before trying them in class.

5. Join Computing at School (http://community.computingatschool.org.uk/door). CAS’s online community hosts 100’s of free resources for teaching Computing. They also have a number of ‘Master Teachers’ who are hand to answer questions and offer support, forum’s, CPD events and regular Hub meetings around the country.

6. Use Twitter to extend your PLN. I received help from a number of people on twitter who checked my program’s and tutored me through some of the GCSE level programming problems.

7. Make use of student guru’s. If you have students in your class that are already quite competent programmers, use them. Ask them to explain who they solved a problem and peer teach others.

8. Be honest. If you don’t know they answer to a question, be honest and say so. Turn it into an activity to find the answer. Take part in the learning journey with your students.

9. Shrink the change. Try focusing on one thing at a time. Introduce a couple of Computing modules at KS3 first and get use to teaching programming to solve problems. Then think about introducing a GCSE option the following September.

10. Accept that students have more time to spend becoming an expert then you do!

11. Continue being remarkable.


You can find a list of resources I have built up over the last year HERE. I will be adding to this list regularly and if you would like to share an online resource (video, website, blog, e.t.c.) please leave a comment on the Google Doc and I’ll add it in.

If you have found this post useful please pass it on, re-tweet, leave a comment below…


comp_sci = input(‘Please enter what you have learnt about teaching computer science for the first time: ‘)

** UPDATED: 31/07/2013**

print comp_sci


Resource created by Dan Aldred for introducing if_else statements.

Two terms into teaching computer science for the first time and its been an incredible learning curve!

Towards the end of the summer term (2012) I attended a SWiT meeting at John Cabot Academy (arranged by @lessonhacker). The keynote speaker was Dr Tom Crick (@drtomcrick). I remember sitting and listening to Dr Crick talk passionately about computer science and its importance in offering a platform for young people to develop their problem solving skills. It was at that point I knew I had a lot of work ahead of me…

Not being trained in computer science (but having a vested interest in the subject) meant that I would have a lot of ‘geeking up’ to do before the start of the new academic year in September 2012. Over the summer I spent alot of time getting hands on programming experience using Code Academy (with extra help from @codeboom and @ColinTheMathmo) and reading up on alot of the theory that I would need to cover in GCSE Computing. At first the thought of teaching GCSE Computing was a little daunting as I had fallen under the foggy myth that computer science was all about ‘coding.’ It’s not.

How I introduced computer science to the current KS3 curriculum…

Being responsible for IT / Computing at KS3 I went straight to work embedding some computer science projects at KS3 for years 8 and 9. Over the last two terms year 8 and 9 have:

  • Researched the pioneers of computing.
  • Been introduced to the principles of computational thinking to solve problems.
  • Data representation – Binary notation.
  • Designed algorithms to solve problems using flowcharts.
  • Programmed in Python using Code Academy and the Python IDLE.
  • Investigated the origins and infrastructure of the Internet.
  • Created a web pages by writing HTML / CSS in notepad.

This has taken alot of continuous planning and regular research outside of lessons but the results have been noticeable positive. Students appear alot more engaged with the curriculum and far more inquisitive about things. Don’t get me wrong, there are still students that aren’t fully engaged but it is a big improvement. One noticeable aspect of attainment in the lessons I have taught over the last two terms is that girls appear to be making more progress then boys, especially in programming. I have noticed that the majority of girls tend to have a keener eye for following instructions (when using code academy) where as boys tend to scan over the instructions. The girls have also proved themselves to be better at debugging when things don’t work as expected.

I must take this opportunity to champion Code Academy as a tool for learning about programming and getting hands on experience. I am still very much learning how to program myself and have used Code Academy extensively to further my own skills. In lessons Code Academy has been an invaluable tool (especially at KS3) in enabling students to work at their own pace and enable me to facilitate learning rather then dictate. I’m looking foward to using their new after school club pages to run a code club next term.

GCSE Computing…

I was given two GCSE Computing classes to teach from September (one first year and one second year). Due to these circumstances I am going to be covering the whole course in a year, not ideal for a first timer but I like being in at the deep end – keeps me on my toes! Again the thought of this last summer was a little daunting but I have had incredible support from the Computing At School community and feel confident enough now to offer some of my own resources. I have worked very hard on learning the theory that underpins computing in order to give students the best possible experience in lessons, but I am under new illusions that this will improve over time. I firmly believe that the most important think was for me to get involved and not put off teaching computer science because it would be ‘hard.’ Yes it is difficult, but it is extremely interesting! The majority of students are really engaged with the subject matter. I was really inspired to hear about what @LessonHacker and his department were delivering and that made me more motivated to do the best I possibly could.

The fog is clearing and I can now see the importance of computer science being taught in conjunction with ICT in order to give students a broad and balanced education. As Dr Sue Black (@Dr_Black) recently said on Twitter: “Knowledge of computer science gives you access to and control over your future. Everything we do is depending more and more on technology and understanding computer science gives you the key that unlocks its potential.” Couldn’t agree more – there has never been a better time to study computer science!! One of the reasons I got into teaching in the first place was so that I can learn lots of new things too.

Resources… (*updated 27/05/2013)

I would have been really stuck without the kind, generous people of the Twittersphere and beyond. If you are currently thinking about introducing computer science at your school or are currently in the middle of teaching it for the first time here are some links I suggest you explore…

Code Academy – great starting point for learning about programming.

Mr Fraser.org – incredible website with lots of resources for teaching GCSE Computing. I have used this alot as a starting point for most of my theory based lessons.

CodeBoom – excellent computer science blog with lots of resources that can be used at KS4 and KS5 – particularly the programming projects! CodeBoom is also the driving force behind CASInclude – a movement aiming to get more young people interested in computer science.

Dan Aldred – Dan’s website has lots of great computing resources, most of which I have used in my lessons or are planning to use in the future.

Mr Clarkson – Lots of great Computing and ICT resources. I have used his Python workbook and flipped my GCSE Computing class by using his excellent videos.

Computing at School – If you haven’t already signed up – do it now (it’s free!)!! Lots of great resources, discussions and events. Here’s a resource I contributed… (you may need to be logged in to view it).

CAS Include – Want to help inspire young people to study computer science? Of course you do… Click here.

Alan O’Donohoe’s GCSE Computing pod-casts – In this series of FREE pod-casts (there’s about 30 of them!) Alan talks through each of his year 10 GCSE Computing lessons. Well worth a listen with lots of tips for interesting lessons and also some honest reflection on ways to improve lessons. Perfect for the commute to work!! Click here for iTunes link.

* Mr O’Callaghan’s GCSE Computing site – Here’s a site I’ve created that is very much a ‘work in progress.’ There is however some useful revision links already up!

**OCR Computing videos – Great set of videos explaining some key computing concepts.

**Fundamentals of Coding blog – Excellent post explaining the fundamentals of coding.

**Programming project ideas – Taken from an undergraduate course but can be easily adapted for GCSE / A-Level projects.

**Free Python E-books – site full of free Python books to download.

**The Logic Lab – Excellent interactive site students can use to experiment with logic gates.

**Network simulator – allows students to create their own network by following a tutorial or completely independently.

Here’s a video I use to explain to students that computer science is about taking a big problem and breaking it down into smaller ones…


Here’s another video that helps to explain the importance of being able to manipulate a computer through coding:


Next steps…

  1. Work hard to continue to make my lessons interesting / relevant for the students I teach and share my experiences, resources, e.t.c. with other teachers and like minded folk.
  2. Further my programming skills. Im really getting into Python and now that I have a couple of weeks off I’m looking forward to working through some of the new Code Academy tracks and programming projects from the CAS website
  3. Promote computer science in school by continuing a computing club (please visit the students blog and leave them a comment!!) and setting up an additional club for girls in collaboration with Lady Geek with the aim of making computing more accessible to girls.

It’s been the hardest two terms of teaching in my short four years as a teacher, but the most rewarding!!


Last slide from my assembly on why students should consider GCSE Computing.

**One year on:  Reflecting on my first year teaching Computing at KS3 and KS4 I can honestly say its been very challenging but extremely rewarding. The challenge that Computing brings to lessons, that I feel wasn’t always present in ICT lessons has led to more students being engaged. Computing offers lots of opportunities to solve problems which causes students to think, rather than just follow. If you are thinking of delivering Computing but are letting your lizard brain quietly try to talk you out of it – don’t! It’s a fantastic subject that students enjoy and offers lots of challenge. As soon as you realise that students have more time then you to become experts, you’ll start to enjoy it more too. You will not have an answer to every question a student asks straight away, but sharing the learning journey with the students is a great experience.

Some tips for teaching Computing:

1.  Adopt a ‘Growth Mindset’ and model it for your students.

2.  With programming, practice makes better. Resources such as code academy, code avengers, LearnStreet are excellent on-line tools to start learning a language and work well as tools for learning in class, allowing you to facilitate the learning whilst students work independently.

3.  Join Computing at Schools (CAS) – lots of fantastic resources, forums and general support for extremely talented people.

4.  Start an after school Computing Club to try out new technologies before trying them in a lesson.

5.  Be honest with your students – if you don’t know the answer to a question, say so. Use it as an opportunity to join in the learning journey with your students.

If you have any specific questions that aren’t covered in this post please leave a comment below or email me at mrocallaghanedu@gmail.com.