Wednesday 24 June 2020

The Little Book of Algorithms 2.0


Following the success of the Little Book of Algorithms - Over 20,000 downloads and hundreds sold worldwide, I'm pleased to announce version 2.0. The publishing model will stay the same, the digital PDF will be available free of charge (See bottom of post). For those who want to support me by buying a hassle-free printed physical paperback, you can do so on Amazon or directly here.

What's new in version 2.0?

Teaching, like software development and learning is about refinement. In this new version there are two key changes.

Firstly, challenges now directly follow each relevant skill. This reflects the structure of most mathematics textbooks and workbooks. It means there’s less time and effort spent flicking backwards and forwards.

Secondly, there are a greater number and range of challenges because you will become a better programmer and computer scientist by solving a greater number and range of problems.
While answers remain in the back of the book, I have also started creating walkthrough video solutions to some of the more complex challenges. These are available on Youtube here.

The Little Book of Algorithms 2.0 concisely presents 18 problems which computer science students will commonly encounter. These problems are solved efficiently using programs written using Python. However, reading these programs is not enough, so this new version of the book now comes with 48 challenges so that you can apply what you have learnt in various ways:

  • Writing your own programs
  • Solving Parson’s puzzles
  • Completing quizzes 
  • Tracing 
  • Gap fills

This range of exercises will help you to become more fluent in Python and ensure that you are comfortable with any question format in a programming exam.

  • After finishing this book, you should feel more familiar with:
  • While loops and For loops
  • Concatenating different data types
  • Using procedures and functions
  • Working with 1D and 2D lists and arrays
  • File reading and writing 


This book will show you how to write better Python programs and will expose you to the key skills that are required to do well in any secondary school programming assignment or exam.

I wish you the very best on your learning journey.

Free version: Here
Pre-printed paperbacks: Amazon
Preview below:




Walkthrough tutorials:

Wednesday 22 April 2020

Remote CPD for teachers


During the lockdown, I have received a few emails from teachers about what we can do to keep abreast of curriculum changes and also develop our subject knowledge, and pedagogical content knowledge. Here are my recommendations.

General pedagogy, teaching and learning:

Dylan Wiliam’s latest videos offer some input and then a discussion point which you can have with yourself, an online community or your peers: LINK

ResearchED have had some incredible speakers. Take your pick from Daniel Willingham, Becky Allen, Sam Sims, Nick Rose, Daisy Christodoulou, John Sweller, John Hattie, Dylan Wiliam, Pedro De Bruyckere and more: LINK

I'm a big fan of the Teach Like a Champion blog as it discusses techniques in written form and then shows a relevant video. The current posts reflect on remote teaching and the previous posts are based on the classroom and sports coaching: LINK

Tom Sherrington’s Kitchen pedagogy series. This series focusses on research-informed ideas: LINK

As mentioned in my last post, we are essentially communicators and public speakers. One of my favourite videos for how to engage and speak publicly: 

GCSE Computer Science

There are new specification changes from Sept 2020. OCR have launched their new GCSE Computer Science course J277 and Paul Long has discussed the changes on this excellent post. A summary of the key differences are on the last page: LINK


  • As the spec changes are quite minor, I still recommend Computer Science Tutor’s tutorial series: LINK
  • Craig N Dave have also updated their video series for J277: LINK
  • Mr Weir has a great presentation style which I enjoy: LINK


Technocamps have a range of “activity packs” mainly aimed at KS3 and KS4 and they are great for teachers too: LINK

If you want to become more fluent in Python programming, the Little book of algorithms might help.
I am also a big fan of these two sites:

Cambridge Nationals in Creative iMedia

There are some great tutorials for content on these channels:
Photoshop tutorials - For those of you who do not have Photoshop, Photopea is an excellent free online alternative

GCSE Stretch and A-Level Computer Science:

Isaac Computer Science launched their full content this week. There are lots of mini exercises and the explanations are clear and concise. All the material is written by current or former A-Level Computer Science teachers who I respect.


Two years ago, I took to learning PyGame as so many of our students were interested in making games for their A-Level projects. These two sites are (almost all you need):

If you just want some useful videos for you and your A-Level students, I’ve curated a playlist here

Computer Science Education Research


Finally, if you're interested in CS Ed Research,There is:

Lots of videos from the Cambridge Computing Education Research Symposium
The CS Ed Research Book Club?

Thursday 16 April 2020

What every teacher training programme should teach


I have been very fortunate to have had the opportunity to observe hundreds of lessons and work directly with mentoring and supporting more than 30 Newly/Recently Qualified Teachers. I also base my reflection on the incredible books that have been recommended to me as well as my own experience teaching over 8000 lessons in 5 different schools over 14 years. 

The aim of this article is not a critique of any particular teacher training programme – it could perhaps be considered as a compilation of the best practice from the various programmes and teachers that I have had the pleasure of observing, developing and working with. Coverage of the following would ensure a solid foundation for any teacher. Some might even use this as a knowledge audit to identify areas for development in themselves or in teachers they are mentoring.

Communication

If we spend roughly 70% of our working day directly teaching lessons, I would argue that the majority of this time is spent communicating. We communicate ideas, subject content, our ethos and our expectations every day. So perhaps sessions on the following would be useful:
  • Voice training
  • Regular feedback on presentation-a weekly exercise could be for developing teachers to communicate a complex idea, perhaps something from their subject specialism or a specific learning theory. I really enjoy Wired’s 5 Levels series so perhaps it could be inspired by that. Trainees should have the experience of trying to teach a concept with or without certain aids e.g. without a whiteboard, with only a whiteboard, with only powerpoint, with only a visualiser and to reflect on which content is best taught through which medium.
  • Handwriting practice (on a whiteboard)-this will be one of the primary methods of communicating ideas for many teachers, learning how to write legibly on a board is often neglected.
  • Other strategies from Doug Lemov’s excellent Teach Like A Champion (TLAC) 2.0 book e.g. Threshold, RADAR, Breaking the plane, Strong Voice, Circulate, Strong Start. I cannot emphasise enough the importance of Lemov’s work and his book. I would argue that not a single day lesson goes by without me using at least 5-10 of his techniques. Likewise, when I look to help teachers improve, frequently I will identify a TLAC technique as the best action point or lever for improvement.

Routines

As aforementioned, Lemov’s TLAC 2.0 book should be a core text for any teacher training programme, when it comes to routines, Lemov’s book and accompanying videos distill the most effective strategies used by great teachers around the world. Whilst Lemov’s section on Systems and Routines mentions only six techniques, I would argue that the whole chapters 1,3,5 and 7 cover another 20 routines which are essential for an efficient and effective classroom.   

Resource Design

Beginning teachers often spend some time learning to design resources, but they may often be left to their own devices to “explore what works” and “try things out” based on their initial lesson observations of other teachers. Based on the principles of direct instruction that we would use with novice students, I would argue that beginning teachers also need to be taught in the same way, with direct instruction and only gradual fading once expertise has been developed. Here are a few things which every teacher should know how to design:
  • Multiple Choice Questions
  • Do Nows which interleaves, reviews and provides a form of low stakes testing and formative assessment
  • Exit tickets
  • Worksheets or workbooks which follows the “I, We You” and Shed Loads of Practice (SLOP) format – starting with teacher modelling, followed by joint construction and leading to lots of independent practice questions
  • Sequence of lessons- which build on prior knowledge and allow for revisiting of content
  • A spreadsheet marksheet/tracker – SUM formula, VLOOKUP, Conditional formatting.
  • A seating plan (preferably in a spreadsheet) and what data to use. The data I always start with is prior attainment to ensure weaker students have a strong partner near them. I would also then check this seating plan with the Head of Year for potential behaviour issues and compatible working pairs.
  • Functional wall displays

Workload and time management

This is something that all teachers will struggle with at some point, but certainly in the early days when lesson planning may take hours in itself. A few useful strategies:
  • Stephen Covey’s Time management matrix
  • Planning by the week (Not by the day)
  • Importance of Sleep
  • Use of technology e.g. Quizlet, Google/Microsoft Forms, Online resource banks and communities (Facebook, Twitter and subject specific communities), using email filters, classroom management software

Marking and feedback

  • Sampling and Whole Class Marking and Feedback
  • Immediate and precise feedback during circulation
  • Peer marking
  • How to mark summative assessments (Question by Question), identifying misconceptions and actions to address these gaps

Science of learning and research-based instructional strategies

Instructional principles and pedagogy should be based on research along with experience of the tutor. I will provide an extensive reading list later. However, here are the key theories which every beginning teacher should be aware of:

  • Direct instruction and gradual release
  • Cognitive Load Theory
  • Dual Coding
  • Cognitive Apprenticeship
  • Retrieval Practice and low stakes testing
  • Interleaving
  • Variation
  • Elaborative interrogation – asking how and why
  • Reflection
  • Spacing
  • Semantic Waves (Legitimation Code Theory)


In addition to the above general theories. I would also include sessions on subject-specific pedagogy.

Additional sessions

Classroom culture is such an important topic and although most students are taught about high expectations, it would also be useful to talk about explicit strategies for building a culture of success in the classroom. A strong learning culture encourages students to learn from mistakes, to participate and be proactive in their learning and students will have a strong (collective) purpose for being in that classroom.

Oli Knight and David Benson discuss the importance of thinking like an expert in a specified subject in their book “Creating Outstanding Classrooms”. This concept is based on David Perkins’ “Playing the Whole Game”. Students and teachers need to know how to think like a Mathematician, Computer Scientist, Artist, Musician, Historian etc. What does it look like or mean to be an expert in this field. This has to be the end goal for students and we need to design our curriculum not only to match the specifications (which will change regularly) but also to prepare students for the real world. For some teachers, they may enter the profession directly from university, without much industry experience. It may therefore be useful to have industry talks and panels to map the talent pipeline and get insights from industry. What are the most important and in-demand skills in the industry, how can we teach “junior versions” of this.

Closing thoughts

All of the above would produce a solid foundation for any teacher. After 14 years, I still think I need to work on certain areas above. It is an ambitious and utopian teacher training programme. The big picture is complex and I’ve tried in the past to codify it in a diagram, shown below:




You will notice that I have not really focused on behaviour management in this post. This is partly because Lemov's book is a solid starting point and clear routines themselves lead to fewer behaviour issues to start with. I may decide to do a later post on behaviour inspired by the work of Bill Rogers and Michael Linsin.

Some may think that I am prescribing a particular way of teaching for all. I do not believe in “Roboteachers” and a set way. These techniques are a toolkit and the way we use these will vary as teachers develop their own teaching style. Joel Klein once said, “You can mandate adequacy , but you cannot mandate greatness: it has to be unleashed.” Eventually, teachers will build on this foundation and discover their own teaching style.

Recommended reading

These are the books that I would recommend for all teachers. They're the best books that I've read over the past 14 years:
  • Teach Like A Champion 2.0 – Doug Lemov
  • Principles of Instruction – Barak Rosenshine
  • Why Don’t Students Like School – Daniel Willingham
  • Make it Stick – Peter C Brown, Henry L. Roediger and Mark A. McDaniel
  • An Ethic of Excellence – Ron Berger
  • The Hidden Lives of Learners - Graham Nuthall
  • Embedded Formative Assessment – Dylan Wiliam
  • Creating Outstanding Classrooms – Oli Knight and David Benson
  • The Motivation Breakthrough – Richard Lavoie
  • How We Learn – Benedict Carey


Further reading

  • The End of Average – Todd Rose
  • Why We Sleep – Matthew Walker
  • Start With Why – Simon Sinek
  • Cleverlands – Lucy Crehan
  • Inventing Ourselves – Sarah-Jayne Blakemore
  • Legacy – James Kerr
  • The Chimp Paradox – Dr Steve Peters
  • The Art of Learning – Josh Waitzkin
  • Get Better Faster – Paul Bambrick Santoyo
  • Theory of Instruction: Principles and Applications - Siegfried Engelmann and Douglas Carnine



Sunday 1 March 2020

Computing At School (CAS) London Conference 2020

24 hours have passed since my third CAS London conference, so here is a write-up. This is my second time presenting at the CAS London conference. You can find my slides from last year’s session on secondary pedagogy here.

The organisation leading in to the 2020 event was incredible, Jane Waite and Jo Brodie clearly sacrificed a lot to put together such a smooth and successful event. The more seamless the event, the more well-organised it is. You never seem to notice when things don’t do wrong!

I was escorted to my room on arrival which was already set up. I quickly loaded my slides, checked everything was working and went back downstairs to catch up with friends and fellow teachers from the CAS network. I spoke to one of my seniors from the Teach First programme, Peter Kemp who is currently in charge of the ITT course at Kings’ College London. We chatted about our open source projects Pete’s A-Level WikiBooks and my Little Book of Algorithms and Computer Science Colouring Book (sneak preview below).



I also got chatting to Rochelle Laurencin from ScreenSkills. ScreenSkills support Peter Kemp’s 3DAmi animation school and it was fascinating to hear of all the work they do, from their bursaries for courses to their apprenticeships. I have a student who does not want to go to university and wants to go into the film industry, so we exchanged details and I picked up some flyers and posters to share when I returned to school.

The Keynote was by John Nixon. He’s an HMI (one of Her Majesty's Inspectors) and Ofsted's National Lead for Computing and Online Safety. I wasn’t expecting to take so many notes. However, with the new inspection framework, I found myself scribbling away furiously and I realised that the four pages I filled, was the most amount of notes compared to any of the other sessions on the day. His keynote deserves its own separate blog post.





I figured that a lecture theatre operates very much like a stack data structure, last in first out (LIFO), so I made sure I was at the end of the second row and made a speedy exit to get to my session. My session was about one dimension from Legitimation Code Theory – Semantics. I hoped to introduce attendees to Semantic Waves and how they could apply some of the associated principles immediately on their return to school on Monday. I started out by looking at the big picture of classroom best practice and then considered the role of Semantic Waves in our practice.




Perhaps Semantic Waves are a missing piece of the infinite and addictive puzzle that we also call “teaching”.
A bold claim.

We looked at the theory and went through some practical tasks, along with a sample lesson. All of these resources are available here.

In choosing sessions for a conference, I have a few parameters that go into my so called selection algorithm:

  1. Have I attended the session before?
  2. How good is the speaker? – What is their background? Do they have a proven track record? How good were their previous sessions?
  3. Can I make use of their workshop in the next week, day, month or year?




Based on criteria 1, I therefore automatically de-selected Sue Sentance’s and Peter Kemp’s sessions on PRIMM, Programming with Python and Flask and 3DAmi. All excellent sessions which I chose based on criteria 2 and 3 at previous conferences. The three remaining sessions, I must admit I went by the presenter’s reputation first. I chose:




I was not disappointed. I left trying to pick a favourite session and at first I thought it was Hardip’s, but then I couldn’t put it above either Paul’s or Katie’s. So why were these sessions chosen and why do they all receive a resounding 5-star review from me?

Hardip is a rare gem in that he currently teaches both OCR and AQA A-Level Computer Science. He taught himself how to write computer games on the Commodore 64 in the 80’s and his understanding and ability to break down and deliver complex concepts will leave you in awe. His session used a programming language called Forth. Hardip told us that Forth is a programming language, an IDE and a philosophy too (woah, mind blow already). He reeled us in further by telling us Forth was used to write programs for robotic arms on the International Space Station and some of these programs are less than 4kb! The language is clearly robust and it is entirely stack based which make it wonderful for teaching and learning stacks. Despite not using Forth for 30 years, Hardip demonstrated fluency whilst also pacing us gently through the exercises, which were all of course mapped to AQA and OCR spec points. I chose this session based on Hardip’s reputation and I was not disappointed. I left feeling as though I’d just been given the cheat code to teaching stacks. How had I not realised the sequencing and thought about using a stack-based language sooner? His iterative approach, re-visiting how stacks are used was a key theme throughout the conference. Thanks Hardip. You’re incredible. If you’re reading this wondering how you can find out more about Hardip or whether he might be able to help your school, he does outreach work as he is currently part time. So if you require some training or 6-12 week development/teaching particularly at A-Level standard, you can email Hardip at HardipmATgmailDOTcom.



Lunch was great as usual. I recalled that at my last visit to Gladesmore Community School (GCS) I was impressed by the facilities and I must say, my return left me thinking it really is a brilliant venue with great staff and students. Between Igli and his team at GCS and Jane and Jo’s CAS London team, it sets a high standard for other conferences. The conference’s 200 tickers were sold out and 80+ were on the waiting list. The success of this conference made me think back to the CSTA conference – an international conference that I attended in Baltimore in 2017. I wouldn’t be exaggerating if I said that I think we could host something of similar scale in the UK – 1 week of Computing CPD in the summer or Easter holidays. I’ve got so much faith in Jo, Jane and her team. I don’t know if the CAS National Conference will make a return or not, but I can envision an international conference within the next 5 years in the UK. We definitely have the quality in terms of workshop /session facilitators. It was clear that many of the sessions on Saturday could have lasted 90 mins or even 2 hours. A format that the CSTA conference sometimes uses, allowing for 3 sessions in a day over the week. It's something worth thinking about…

Back to the sessions. Session 3 was a somewhat unusual choice for me. My session was entitled, "Going from abstract to concrete and back again with Semantic Waves" so why did I also attend Paul Curzon’s session entitled "Semantic Waves"? In the run-up, Jane expressed slight frustration that I had chosen to deliver a session with the same focus as Paul’s. However, having attended both, I can assure her now that attendees would have got something different from both sessions and it was totally worth it. I chose Paul’s session for several reasons. I’ve been attending Paul’s training sessions since I first started teaching in 2006; he’s been running sessions at Queen Mary University London (QMUL) often with William Marsh and Jo Brodie – quite possibly they were doing this before the existence of CAS. I always leave those sessions thinking Paul is a crazy genius (in the nicest possible way) and that I could never deliver or teach like he does. This is exactly the reason why I keep coming back. Paul recently won the IEEE Computer Society 2020 Taylor L. Booth Education Award. The previous link goes into a some detail about Paul’s contributions to computing education. However, his attitude and work rate were exemplified by the fact that he delivered four sessions on Saturday (including a lunchtime one!). I just about had enough head space to run one session and deliver a TeachMeet presentation. Paul clearly operates on another level. He is a seasoned professional on the conference and CPD circuit.

The most important takeaways from Paul’s LCT Semantic Waves session was firstly that Semantic Waves can be used to evaluate lessons and lesson planning. His clear division of disciplines into technical language and abstract concepts was also powerful. Lastly, I left with the important differentiation between a teacher planning Semantic Waves in their lesson activities and students actually doing the repacking themselves and riding the wave themselves.

Yes, you may be teaching…but what are the students doing and what are they thinking about?

This emphasis on the students doing the repacking, not just the teacher was such a simple point, but it is an important lever in working with Semantic Waves. We had different foci and emphasis in our sessions and I left feeling even more informed. Of course, I also got to witness some signature unplugged teaching activities from Paul too.

The fourth session was with Katie Vanderpere-Brown. Katie is a regular contributor on the weekly #CASChat on Twitter (Every Tues at 8pm). I signed up to Katie’s session based on our similar views on computing education, our interest in cognitive science and our skepticism towards some online learning platforms. We met briefly over lunch and when someone tells you that they’ve come up with a way to print onto post-it notes, you realise that you’re talking to someone who is serious about their teaching craft or someone who is addicted to stationary or both. Katie is both.

There’s a few people who have debated with me about the importance of passion and enthusiasm in teacher delivery style. A prolific tweeter once proclaimed that it just wasn’t their style and enthusiasm and passion were not important-you just need knowledge and good behaviour management. I have to disagree! I think I can spot a good teacher within 30 seconds of watching them teach. This sounds arrogant, but I’m quite confident in my “thin slicing” after developing and observing (probably over fifty) teachers over the years. One of the things I subconsciously notice very quickly is whether or not the teacher wants to be there-how passionate are they about the subject and the lesson they are teaching? Would I want to be taught by this teacher? Within ten seconds, Katie passed this test. Her relaxed and humble demeanor, enthusiasm and informed delivery puts you at ease. After a minute, it felt like I was sitting at home catching up with an old friend. Except, this was someone I’d never met before. Katie went through three different ways of teaching the fetch-execute cycle and I have no doubt that if you ask any of her students, they could tell you the name and function of the registers and memory during the CPU’s fetch execute cycle. The first activity was a card sort with printed post it notes, the second an unplugged physical activity and then she consolidated by demonstrating how we could use different LMC simulators. We were her guinea pigs for some NCCE/Isaac Computer Science material and I think we all left pretty impressed, particularly given that she was weaving metacognitive theory in between her tasks.

The first task with post it notes, simple as it was, generated a lot of debate about sequencing. It made us all think about what the pre-requisite knowledge was for teaching the fetch execute cycle. The three simulators that we saw: 101 Computing , Peter Higginson’s new RISC LMC and Higginson’s AQA LMC  were all new to me. I'd grown so used to the original LMC, I had not really invested the time into exploring the new versions and I have to admit, the 101Computing one is my favourite.

LMC900


Whilst the physical unplugged task which demonstrated the use of cache memory would be difficult for me to implement in my computer suite, I could see how it would work if we had a different room layout. It is a lovely idea and clearly shows how some instructions in cache clearly have a faster access time. The misconception we need to be careful of here is the student's discussion of distance. Frequently students say that the cache is nearer than the RAM and this is why it is faster. Distance is somewhat insignificant in the fetch execute cycle as electrical signals move so quickly over such short distances. This is something that a lot of students misunderstand. The real focus of the activity should be on the access speed of different memory types and the overall execution time.

After the last session, I managed to catch up with a few old colleagues and friends before delivering my TeachMeet presentation. My TeachMeet presentation was on the importance of language, etymology and storytelling in computing education. My example was on the origins of cache memory and how the term "cache" originates from 18th century French Canadian fur trappers! This presentation was inspired by one of my former head teachers, the great Oli Knight. I hope those that attended will share this story far and wide.

Image result for fur trappers cache

What a day! My thanks go out to Jane, Jo and all the volunteers for ensuring the conference was a success. Thanks to all those who ran workshop sessions and it was good to catch up with some old friends. I hope we can grow this conference into something much bigger with a wider international reach. However, for now I still love the intimacy of our London CAS community conference. Until next time… 

Saturday 15 February 2020

A Just Cause


I’ve been reading Simon Sinek’s “The Infinite Game” during my morning reading session with my sixth formers. 




Occasionally, I’ll read excerpts to them as it’s such an insightful book on long-lasting success. One particularly powerful chapter is chapter 2, “Just cause”. Sinek argues that every company and every leader that wishes to have sustained success needs a just cause - a vision for the future. Sinek states that a just cause must fulfil five criteria:

  1. For Something – affirmative and optimistic
  2.  Inclusive – open to all those who would like to contribute
  3. Service oriented  – for the primary benefit of others
  4. Resilient – able to endure political, technological and cultural change
  5. Idealistic – big, bold and ultimately achievable


In some countries, teachers have to write an educational philosophy. I was asked to write one for a job application once and I have attached it to the end of this post. However, the more I read Sinek's book, the more motivated I felt to write my own just cause. Why do I do what I do, what is it that I believe in and what is my ideal future. My just cause is as follows:


I believe in developing a world where more people know how to use computers to make their lives easier, better and more productive. I aim to teach computing to as many people as possible and I will do this by sharing my resources, knowledge and skillset - primarily through my books, blog, digital and physical resources and videos. Whilst I teach in a secondary school; I want to also help teachers, adults and younger children discover the beauty, fun and utility of computing.
For too many people, computing and computer science in particular seem daunting. Many people timidly or proudly admit to “not being good with computers”. I was once one of these people and I can confidently say that this can change. Everyone can learn about computing, everyone should be exposed to computing and given the opportunity to learn how to use computers to improve our lives.
The process of learning should be straightforward, accessible and involve achievable stepping stones. We should be able to learn about computing regardless of age, gender, race or income. We should be able to learn about computing without the fear of being labelled as a geek. Geeks are great, we should love them. It should be everyone’s aim to be a bit more of a computer geek and I’m here to help you achieve this.

 ----------------------------------------------------------------------------------------

Educational Philosophy – William Lau


From Nanotechnology to Synthetic Biology, from Wearable Computers to Self-Driving Cars; Computing will continue to shape the future that we live in.

Computing teaches us how to solve problems by breaking them down into manageable components. In developing our own original solutions, Computing requires us to be both logical and creative. Computing enables us to develop a skillset and mindset which will be useful in literally every other discipline.

As a teacher, leader and student of Computing, I believe that being a digital native and a mere user of technology is not enough. Technology is changing at such a rapid pace that in order to thrive and succeed in the Information age, we need to understand how computers work. One of my primary aims is to transform users of technology into creators of technology by giving all students the opportunity to think, create, persevere and grow.

To achieve this aim, we must strive to:
  • Create an environment in which all pupils enjoy Computing and feel they can do well in Computing.
  • Create well rounded users and creators of Computer technology with a focus on independent problem solving skills.
  • Engage pupils and expose them to a wide range of Computing tools and skills which will empower them in whatever career path they choose.

Too often, students come into our classrooms with a fixed mindset; the belief that ability is innate and static (Dweck, 2006). As a result some students have got into the habit of giving up easily or not attempting difficult tasks due to a fear of failure. Inspired by the work of Carol Dweck, I believe that the growth mindset is fundamental to teaching and learning Computing. We need to help our students realise that they can achieve great things if they persevere and are resilient when faced with challenges and setbacks. There is a risk of students believing that as digital natives, they have little to learn and that everything they want to do with a computer has already been created or will be invented by someone else. There is also a fear that Computer Science is difficult and too technical. However, by eliminating these misconceptions, our students will be able to push themselves and learn to enjoy the learning process despite the many challenges that they will encounter.

Computing lessons should not just be about ‘doing’; the focus should always be on what the pupils are thinking about. Lessons should aim to teach pupils the real-world relevance of Computing; this relevance comes ultimately from a Fertile Question which feeds into every lesson question.

My teaching methodology revolves around meticulous planning, modelling, formative and summative assessment, feedback and putting the individual learner at the focus of all interactions. In order for a student to understand the standard of what is required, it is important that the teacher models how an expert in the subject should think and perform. This expert may be the teacher themselves, or they may use their students as experts. Having modelled the thought processes and explained the tasks, students should be given an opportunity to demonstrate their skills either through joint construction or independent tasks. It is at this point that formative assessment and monitoring is most crucial. Unless the teachers can visualise student’s thinking, identify misconceptions and mistakes and correct these, a student is not going to make good progress over time. Through regular intervention and feedback, these interactions with the group and the individual allow the teacher to address common errors and help students improve their learning.