CS for non subject specialists

Growing Computing Science Knowledge for non-specialist teachers

Developing Teacher Agency in Computing Science Part 2

As teachers we know that one of the most important steps in great teaching and good student learning is teacher subject knowledge. Subject knowledge helps us chose which curricular opportunities are valid and which are not. It helps us teach and respond to the formative assessment needs of our pupils. It helps us adapt and create curricular resources.

For the non-specialist teacher moving into a new area of learning, subject knowledge can be daunting. Are there well written precise documents that can help you define the curriculum? Can you learn from a colleague who has made that transition? Is there expert local help?

Sometimes you need to learn new skills and processes. A fundamental computing science skill is programming. If you are a primary teacher in the UK or K-5 teacher in the states or a  it is important to know the limitations of what you will need to know. Yes, it is great, in time, to try and go that one extra step so you will be able to support those who need enrichment, but most students won’t get there for a while. Start with programming projects that develop sequence, move on to repetition, look at different ways that conditional selection is used before moving on to variables. Programming is about creating things that do something, give yourself time to examine these constructs in different real projects. Pace yourself, you don’t need to know everything in a week or even a year. As you learn new things try them out with your students. If you are working alongside other teachers, learning the same thing, build the projects together before teaching them and spend a few minutes before and after the modules reflecting on the formative assessment opportunities together so you can improve practice for next time.

Do these programming projects utilise essential computational thinking skills? Not every project will need to use algorithmic thinking, algorithmic evaluation, decomposition, generalisation or abstraction but it is important that pupils meet some of these, depending on age and experience, and use them purposefully over the phrase. Refer to your national curriculum, standards or state standards for expectations.

If your pupils are new to programming and mid phase or key stage don’t be tempted to access materials that have been written for that year or grade group. Go back to materials written for the beginning of the phase. You might find that you can speed through these because pupils are more mature. This way you take pupils with you, building understanding and pupil agency incrementally. To use a mathematical analogy, parachuting students in mid phase or key stage can be like trying to teach complex maths to pupils who don’t have a fundamental understanding of a number system in place.

Use online schemes that take pupils through learning automatically sparingly. These can seem very tempting to busy teachers. A chance to catch up on our marking whilst the website marks grades and pushes pupils through one puzzle after another. Is school the best place for these? Do they really need teachers? Why not use for a short period and then encourage a few modules a week for homework or in after school activities. I have no doubt that the creators of such schemes meant well but in excluding teacher agency they reduce programming to puzzle solving and it is a much more creative vibrant dynamic process. Examine the computing attitudes chart at the bottom of the article and ask yourself how many of these are being used through such schemes? A much better use of these would be to dip into an aspect of these to help pupils learn a new skill or understand a concept before using it a more open-ended project?

Coping with failure is a massively important, attitude changing, part of programming. Have a look at my article on learnt helplessness to help you establish good processes to develop resilient problem-solving learners. Who knows maybe it will transfer to other areas of learning?

If you are working in KS3/4 or middle and high school, there are schemes that put computing graduates into classrooms for limited periods of time. Make sure any program you allow into your school builds your knowledge, understanding and agency. Insist on team teaching and get the CS graduate to show you how things work before lessons. Remember we are the education professionals it is our job to make sense of the material and insist that explanations are broken up and scaffolded for pupils. Challenge relationships that don’t build your agency. There are some wonderful industry professionals and university professors out there who give of their time to help us expand our knowledge, but real relationships are based on mutual respect and appreciation for each other. Your educational insights will help them build more responsive courses for undergraduates or industry colleagues.

Are there any other groups of teachers going through the same thing that you can create a study group with? In the UK we have CAS hubs. Any teacher can start one and the best often have a mix of industry/university professionals as well. In the US you can start a local chapter of CsforALL. Decide what you want to know and find speakers to meet your needs. Be inclusive of the wider tech community but do take control of the agenda.

Lastly can I salute you if you decide to develop your own teacher agency and those of others. I know how much my students love thinking computationally and turning it into meaningful projects. It has opened a new world of opportunities for them. If there is any way that I can help don’t hesitate to get in touch.