Teaching computer programming languages – to text, or block – the teacher’s conundrum.
26 April 2019
Teaching programming – where to start?
When I started learning the piano – I started with “John Thompson’s Easy Piano Course”. It was a well-practised route, and one that I, later, used with my pupils.
Teaching the piano, singing, and to be honest, most disciplines have tried and tested routes. Coding is not necessarily one of them!
Part of the National Centre for Computing Education’s remit is to help spread research in a usable form to teachers to help inform pedagogy. It is something I would encourage all teachers to engage with. In such a cutting edge and ‘recent’ subject/discipline, we must be open to the fact that better ways of teaching will emerge. These pedagogies must be absorbed and adapted quickly.
Research counts?
As part of the research community, I came across a short publication comparing the use of block-based languages, textually-defined languages, and a hybrid between the two. The article was short, and I wrote to the author to ask if there was more…
Sometimes you partly wish you hadn’t asked! David Weintrop’s dissertation for his PhD, entitled: “Modality Matters: Understanding the Effects of Programming Language Representation in High School Computer Science Classrooms” is no short read – clocking in at over 400 pages.
It is however, worth the read - as are his other papers which can be downloaded here. Many people advocate block-based languages over textually-derived ones. They cite engagement and speed of learning. Others (myself included) feel more strongly that starting with strictly-defined (sorry Python!) high-level textually-derived languages provide much firmer fundamentals on which to progress.
After reading the (entire) dissertation – I feel that in part both approaches are justified. However, the data does seem to infer that potentially, over a longer period, textually-derived languages win-out with respect to both progress, feeling of attainment and realism.
Personal conclusions
Block-based languages tend to lead to quicker engagement and early ‘quick steps forward’. However, this is countered by feeling that it ‘is not realistic’ and then does not translate into text-based languages a smoothly as hoped. There is also interesting discussion on understanding of concepts. Using block-based for too long may make text-based languages appear more inaccessible.
It is worth noting though that the transition in this study into textually-derived from block-based required teachers to NOT link prior knowledge gained from block-based study – and therefore this must be taken into consideration. This means that if struggling with a loop in Java, the teacher was asked not to prompt about any block-based similarities that they may have met before.
Text-based languages show slower early progress – but by the end of the 15-week course, show a similar level of attainment. What is also significant is that attainment, confidence and progress is on an upward trajectory, whereas block-based is downwards.
Programming is hard was one question they posed (see pp 283-285). Whilst no significant difference was noted from mid-course to end of course in perception, those who started in the text-based course appeared to less change in their perception. Those who started with block-based learning felt programming was harder than those who started with text.
"Programming is fun" responses showed that, as the course developed those who started in blocks and moved to Java liked it less, than those who started in text-based from the start.
Confidence scores by the end of the course were stronger in students who started with text-based languages earlier in the assessments.
To text or to block?
Block-based languages do hook people in to programming. The instant results and visually appealing IDE are the hook. But I would suggest that prolonged use could potentially start to put people off. The phrase “short term pain for long term gain” comes to mind.
It could be beneficial to use block-based to teach simplistic concepts initially, but then transition smoothly and expediently to using those in text-based languages. There is also the consideration that engagement through block-based languages is significant. And, how valuable is that experience for those that do not want to study GCSE Computer Science? Some students may well never encounter textually defined languages.
This also raises a question of KS1 and KS2 curricula. Block-based is the de facto teaching tool in schools – mostly due to facility and also teacher specialism. But does this delay in experiencing text-based languages discourage students too early?
Whilst my views are personal, and focusing on one piece of research, I think that this should be an active debate, and one where teachers feel able to experiment with different strategies in KS3 to assess the impact on KS4 confidence. Teachers are primely placed as active researchers – and key influencers in pedagogy.
So, if you do find the answer, please do send it through on a postcard… (text-based answers only of course)!
Stay connected...
If you have questions then submit your comments below, you can also sign up to the Subject Updates and receive up-to-date email information about resources and support and follow us on Twitter @OCR_ICT.
If you have any immediate queries regarding our Computer Science and ICT qualifications, then please email ComputerScience@ocr.org.uk or call our Customer Support Centre on 01223 553 998.
About the author
Ceredig Cattanach-Chell - Subject Specialist - Computer science
Ceredig joined OCR in September 2015 incorporating his breadth of experience from education to support the reform and development of the new GCSE 9-1 Computer Science and Entry Level R354. A keen advocate of the challenges faced within the classroom, Ceredig led on concept and delivery of Teacher Delivery Packs, which have become one of the flagships for the new GCSE’s success with teachers.
Prior to joining OCR, Ceredig had eight years of educational and teaching experience across a wide range of schools, including primary, secondary, academies and SEN sectors. Ceredig has a degree in Computer Science from Liverpool University and Post Grads from Liverpool Hope and Cambridge Universities. Outside of work, Ceredig is a keen modeller/painter, gamer and all-around geek. From wildlife to war games, his varied hobbies ensure that he is never just ‘sitting down watching the box’.