** UPDATED: 31/07/2013**
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.
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).
* 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:
- 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.
- 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
- 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!!
**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 firstname.lastname@example.org.