Rosenshine’s Principles in the Computing Classroom


Cognitive Science, the study of how we learn, is extremely popular in many schools today. The work of one particular educational psychologist, Barak Rosenshine, is increasingly influential, and some schools and academy chains have adopted his “Principles of Instruction” to inform teaching practice in their classrooms.

If you haven’t head of Rosenshine’s Principles, I recommend you catch up by reading these pages here and here, and watch this talk by Tom Sherrington. For a longer read, try Tom’s book “Rosenshine’s Principles in Action” (ISBN-13: 978-1912906208).

Sherrington takes Rosenshine’s ten principles and he groups them into four strands, based on typical classroom activities:


The four strands “sequencing”, “questioning”, “reviewing” and “practice” are easy to recall, I keep a post-it with those words on nearby when I am planning my curriculum, and pull up Tom’s book on Kindle when I need a reminder of the research.

Rosenshine in the classroom

So how can we implement these principles in the classroom? Specifically, how can we do so in the Computing classroom? This blog will explain some of the practices I employ in my department, with a view to inspiring others to adopt cognitive-science-informed practice in their Computing classrooms.

Sequencing concepts and modelling

I recently refreshed the Computing curriculum right through from KS3 to KS5. That was a tough summer but it was well worth it. I studied the Computing Pathways from CAS (PDF), which is a great starting point, if a bit wordy. From this I produced a curriculum that covered the material in a spiral manner, that is after teaching a topic in one year, we revisit it in more depth in subsequent years. This way a large topic such as Computer Networks is delivered in small steps that build upon each other, such as the www, searching, staying safe online (Year 7), the internet, DNS, devices and topologies (Year 8), packet switching, protocols and cybersecurity (Year 9).

Each lesson has a review of past material (see below), and lots of checking for understanding, and within lessons I try to break down big concepts and provide scaffolds in the form of handouts, books, websites and additional videos for those that need them. When teaching programming, I find the PRIMM model very effective, and this covers the principles of providing models and scaffolds. See below for more on PRIMM.

To be frank, the topic of curriculum design merits a blog post in itself, which I will write another day at Until then, I recommend this article by Alan O’Donohoe (PDF) in Hello World issue 6.


Rosenshine’s principle 3 is “Ask Questions”. All teachers ask questions, sure, but are you asking enough of the right questions, in the right way? Rosenshine makes it clear that questioning is an instructional technique not just a mode of assessment.

I use various techniques including Socratic questioning: deliberately posing questions that require thought and reasoning, sometimes in a sequence, to draw out what a student or a class knows about a topic, enabling them to formalise that knowledge in a sentence or two. For example, on the topic of Storage Devices:

Teacher: “What type of secondary storage would be needed in a missile targeting computer for use on the battlefield?”
Student 1: “Hard Disk Drive”
Teacher: “What do we know about a hard disk drive, how does it store data?”
Student 2: “Magnetic fields”
Teacher: “Yes, and how are those magnetic fields written?”
Student 2: “The disk spins and a read/write head magnetises it”
Teacher: “So what would happen to a HDD in the battlefield?”
Student 1: “It could break, it’s got moving parts, so it’s not HDD, we need a Solid State Drive!”
Teacher: “Why Solid State?”
Student 1: “It’s got no moving parts so it won’t break on the battlefield”
Teacher: “Good. Follow-up question, what type of computer is the missile-targeting computer?”
Student 2: “Embedded, Sir”.
Teacher: “Why?”
Student 2: “Single-purpose, built into another device”.
Teacher: “If the artillery section need to contact HQ, can they do so on the missile-targeting computer?”
Student 1: “No because it’s not general purpose”.


You can read more about Socratic questioning here and many other places. But we are, of course, in a computer room most of the time, so we can employ digital techniques and tools for both this principle and number 6, “Check for Student Understanding”. It’s no accident given my favourite questioning technique above, that I love this service, available as a website at and as an app. I have lots of end-of-unit multiple-choice tests saved in Socrative, and what makes it perfect for summative testing is the “shuffle questions” feature that means adjacent students are usually on different questions making copying much harder.

Socrative also allows me to ask a question to the whole class, and get a free-text response, this is rather like a mini-whiteboard question. But unlike a mini-whiteboard, I can then choose a few of these responses and push them back out to all the students to “vote” for their favourite. It’s excellent for checking for understanding and correcting misconceptions. Socrative is free for basic use but I pay USD$60 annually for the Pro version to have 20 rostered “rooms” to make summative testing easier.

Other recommended tools include Edmodo, Quizizz, Microsoft Forms, Google Forms and Quizlet, I’ll talk more on some of these later.

Reviewing Material

All my lessons begin with a review. Underpinning much of Rosenshine’s principles is retrieval practice: the cognitive science finding that each time a student retrieves some knowledge, such as when being questioned or tested, they are building secure long-term memory which supports future learning.

Like many teachers I once created exciting starters, with the purpose of “engaging” or “hooking” the students into the material. However, these new and thrilling ways to get children excited about ring and bus topologies or the concept of iteration probably didn’t get much return on investment. That time spent planning – and the time spent by the students doing a card sort in the first ten minutes of every lesson – could be better spent simply reviewing previous material, such as through a quick quiz. My practice changed dramatically after reading this blog post by Ben Newmark: “…on why I killed my starters”.

“And make no mistake, ‘starters’ were supposed to be whizzbangy. Laminated card sorts were good. Putting a laminated card sort in an envelope and labelling it “TOP SECRET” was even better. Using police tape to make a classroom look like a crime scene was best practice. […] Two years ago I finally plucked up the courage to stand by my convictions and, as a matter of routine, replaced all my ‘starters’ with ‘reviews’. Fifteen short questions, self-marked. Five on the previous lesson. Five on the topic. Five on anything. A doddle to plan.”


This “previous lesson / same topic but earlier / any topic” review is sometimes called “Fish / Dog / Elephant” quizzing, because of the supposed relative memory longevity of those creatures. Many of my KS4 starters are just slides with between 5 and 10 questions on them, like this ⇒

I’ve been doing this every lesson since Sep 2018, mixing up the topics but starting every one of the five lessons per fortnight like this, and this has created a class full of Year 11s who can now discuss the core knowledge confidently. As a result their mock exam results are extremely promising.

Again, we have lots of digital tools at our disposal to make this regular retrieval more effective. Here I use the following websites and apps:

  • Edmodo. A free blogging and quizzing website which consists of a “Facebook-like” page where I can post a question and students reply like on social media. Edmodo comes into its own, however, with the quiz feature. I now have around 50 quizzes on all my KS3 topics, so I will post one or two quizzes as a starter, and then another two as homework every lesson. I use this with KS3 primarily as KS4 find it a bit childish.
  • Quizlet. Hugely impressive platform for interacting with core knowledge. I have entered much of the key vocabulary for my curriculum from KS3 to KS5, and the students sign in and study using the various games: Flashcards, Match (like an online card sort :)), Gravity, Learn, Test and “Quizlet Live” – think Kahoot in teams. Quizlet is free for basic use but I recommend the teacher upgrade at £36/year so you can track progress. My own study sets are all available here and I am a Quizlet Ambassador if you need any help, message me on Twitter @MrAHarrisonCS.
  • Project Quantum based on Diagnostic Questions and Eedi. A set of thousands of crowdsourced quiz questions arranged into topics, all free. A bit fiddly to set up, I use this mostly for the baseline tests but I am bringing more of the topic tests into my lessons gradually.
  • Teams for Education. We are an Office 365 school, and I love Teams, wherein I can set multiple choice quizzes using Forms, or post digital worksheets in Class Notebook and mark them online. The Assignments feature provides a free digital homework diary and each team has a Sharepoint page with document store. Teams will be the subject of a future blogpost at If you are a Google school then much of the above is available in GSuite also.

Stages of Practice

Rosenshine’s principles in this group include guide student practice, obtain a high success rate, and independent practice. In our subject, Computing, nothing fits these principles better than the “PRIMM” model for teaching programming, which I use across the secondary key stages.

PRIMM stands for Predict, Run, Investigate, Modify, Make, and it is explained here by the creator Sue Sentance, with sample resources you can download and use for teaching Python programming. It works because it follows the model of learning we employed when we learned to write: we learned to read first, then copy letters, then copy words, then write new words. PRIMM is an extension of the simpler Use, Modify, Make strategy described here (PDF).

This process, supported by a knowledgeable teacher, covers the three above principles well. While students are predicting, investigating and running, the material is providing models (R4), while both the teaching material and the teacher are guiding student practice (R5). Simple modifications to the code allow students to obtain a high success rate (R7), by making use of scaffolds (R8), and by the time they are at the make stage they are able to perform independent practice (R9).


Rosenshine’s Principles can make a busy teacher more effective, helping us get great results by understanding what works according to cognitive science. In the computing classroom we can really make the most of this research, using digital tools to automate and facilitate some of the processes, and therefore reduce workload yet achieve some amazing outcomes for our students.


By mraharrisoncs

Freelance consultant, teacher and author, professional development lead for the NCCE, CAS Master Teacher, Computer Science lecturer.

One reply on “Rosenshine’s Principles in the Computing Classroom”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s