Sunday, 4 October 2020

Code.org Computing/Coding Curriculum

Background

For years at my last school, a colleague went on and on about the computing resources available on code.org.  Across the school, we used the site once a year for the Hour of Code in the autumn term and I was always impressed with the quality of the learning available within an hour.  I do consider myself to be someone who will take a good idea and run with it but for some reason I never fully explored the site.  

At my current school, I've been working with an RQT in leading computing and our coding provision just wasn't up to scratch.  Thankfully, my former colleague's years of repeated messages about code.org must have sunk in somewhere as we began to explore the site and realise the goldmine of an entire free curriculum of plans, resources and online lessons for the whole school (and beyond) in coding and e-safety.  Code.org works in a browser, including on iPads so is perfect for every primary school with access to at least a half class set of devices.  I trialled using the Y1/Course A plans with a Y1/2 code club in the summer term of 2019.  This was really successful and it was easy to see how the lessons would work well so we set up the whole school, created our own plans in school format based on the code.org lessons and last year were poised for an entire year of high-quality coding lessons for our pupils.  We only made it halfway through the year but the feedback from teachers was positive in terms of ease of teaching and the quality of learning for pupils. 

Strap in, this is going to be a long blog post which takes you through setting up the teachers and pupils, how they log in, how to set the learning, how we organised plans and how assessment works.  You may want to read a section, action that section and then come back.   

Good luck and please email (jo@mrspteach.com) or tweet me if you have any questions. 

Setting up the school

The first step was to set up accounts for teachers to access to view their cohort. For assessment purposes, each cohort (not year group) at our school is assigned a colour; this allows for tracking cohorts back.  This also worked well for code.org because it meant the cohort could keep the progress they'd made previously without having to lose it year-on-year. Therefore, after our IT technician had set up cohort colour email addresses, we set up teacher accounts for each cohort on code.org using the email address associated with that cohort (i.e. yellow@schoolname.co.uk).  Teachers have access to the passwords for all cohorts so can login to view the cohort they are teaching each year. 

Creating "sections" or classes

The next step was to set up the pupils' accounts.  We set up each class as a new "section" within the cohort.  Adding the pupils in the "manage students" section was SO easy. We simply had to copy the forenames and surnames of every child into a box. We actually copied each class from our Pupil Progress Meeting form which is in a table and it work.  This gives each child an account which they use to complete activities and which teachers can view to track progress.  Once sections are set up, you can assign a course (unit) to each class (see below). 

You can easily print out login cards for the section
Logging in

To log in to their section, pupils either go to the first link on their login card or visit https://studio.code.org/join before entering the section code (also on their login card).  They then click their name and their secret picture.  There is an option in the teacher account to toggle something called paired-programming. This is useful if children will be working in pairs at one computer as it can track both pupils' progress on one computer. We don't use this as we have an IT suite with enough computers for each class. 

Curriculum

There is an entire curriculum appropriate for primary schools, including coding, e-safety and some IT skills.  The curriculum is called Computer Science Fundamentals for Elementary Schools.

We assign each unit as follows:
Course A - Y1
Course B - Y2
Course C - Y3
Course D - Y4
Course E - Y5
Course F - Y6

You can view the curriculum here
View Course - view the only learning, assign the course to a class, hide irrelevant lessons, view previous versions, view progress of whole class if assigned. 
Lesson plans - view and download the plans and resources which go with the course. 

Code.org has been running for many years and has tweaked the curriculum over time.  For this reason, they allow you to assign the unit for a certain year group and from a particular year.  We have stuck to the 2019 curriculum as we based our plans on that year. 
Click the down arrow to view a previous curriculum for the same course. There are very slight changes each year. 

Our e-safety provision was already sound in school so we didn't require all of the code.org lessons.  After assigning each course to the section (each unit to the class), we went through the course and "hid" the e-safety and other random lessons, maintaining only the coding lessons. 
Click "hidden" to remove from the class

One other feature which makes code.org ideal is the set of "ramp up" lessons in Course E (Y5) and Course F (Y6).  These are a few lessons before the main course which helps children get used to the  codeinterface and catch up with some skills if they've never used it before: perfect for if you're introducing code.org across the whole school in one year, which we were.  Once children have been using code.org for one year, these lessons are not needed for future cohorts. 

Planning lessons

The code.org coding lessons consist of a mixture of unplugged and plugged lessons. The unplugged lessons are to be completed in classrooms and require no technology - we actually really like these and they are often a good way into the new coding skill which will be introduced on devices the following week. The plugged lessons do require children to log in to the online interface to complete activities.  

As computing leads, we worked through each of the 6 courses, downloading the full code.org lesson plans and resources and saving these on the school server in the correct folders for year groups. We also took their long (sometime 4-5 pages) lesson plans and put them into our basic planning grid so teachers had an idea of what they were doing at a quick glance - the full plan is there if they need to refer to it.  Often unplugged lessons require the full plan as they can be a bit complicated.  We ensured all resources were available and even printed off masters, creating zip wallets for each lesson if appropriate.  Obviously, we were given plenty of time during the school day to do this.  It would be possible for class teachers to do this themselves but we wanted to make it as easy as possible for teachers to pick this up and run with it.  

Each lesson plan has support/challenge ideas which are worth pointing teachers towards.  Also, the online interface has options for viewing a hint, slowing the run speed or running the code one step at a time.  The plans refer to a coding notebook - we are not doing this as the plans are quite long and we are already time-restricted.  After children have completed all the online activities, there are project studios which look similar to Scratch where they can practise the skills they've learned more freely.  These save on their account and they can come back to their project week-on-week to build on it. This is where most proficient pupils will end up each lesson. 

Assessment

Code.org is great for assessment as a class teacher and as computing leads.  In the Teacher Dashboard, you can view how well children have engaged with an activity.  In the example below, Lesson 1 was unplugged and lessons 2, 3, 8, 9 and 13 were not coding-based.  

You can see the extent to which children have completed the activities for each lesson and how efficient they have been with their coding. 

This has been so useful with Covid-19 as it's very easy to see where cohorts have got up to and so where they need to pick up this school year.  We have also worked out how we can use the Course E and F ramp up lessons to ensure children don't miss any coding objectives in their time with us.