Coding in silence: supporting talk while learners program

Helen Caldwell

Helen Caldwell

Computing teacher Matthew Chermside considers how we can promote and scaffold talk for learning in the computer science classroom.

Collaborative talk vs individual tasks
Lave and Wenger (1991), and Mercer (2000) established the social constructivist view of learning as a process of individuals forming their identity within a ‘community of discourse’, which shares historical context and rules of communication. In particular, Mercer (2000) illustrated how speech is the most critical tool learning communities use to solve problems and organize the sense they make of new experience. While learning to write computer programs, Computer Science learners generally develop individual solutions on separate computers, to practice the problem-solving skills they will need later in examinations. If collaborative speech does play such a crucial role in developing learners’ thinking, then how can Computer Science teachers optimize talk between learners who need to spend protracted periods staring at code on separate screens?

Mercer (2000) described how the teaching techniques of recapping on past learning and reforming elicited responses not only aid learners to build context for future learning, but also model the speech learners can re-enact in their own talk. However, this alone is not enough. Teachers sometimes instruct learners to ‘discuss together and we’ll report back to the class afterwards’, possibly making the critical mistake of assuming learners have internalized the speech model. This ‘knowing how to talk’ arguably necessitates clarity on the aforementioned ‘rules of communication’ that enable learners to connect collective and individual thinking. This can be characterized as the issue of enabling learners to work “as groups rather than in groups” (Mercer and Howe 2012), so that they can “talk their way into understanding” (Barnes, 2010).

Learner talk in Computer Science
There have been myriad attempts at defining ‘Computational Thinking’ (Wing 2006, International Baccalaureate 2012, Resnick and Brennan 2012, Open University 2015), those cognitive skills that learners are expected to develop while learning how to program a computer, but there has not been much exploration of language for developing these skills. Jenkins (2017) and Zakaria et al. (2019) illuminated some interesting methods of analysing the talk of learners working on computer-based tasks but offered little information about how talk can be promoted. A book of programming exercises for Cambridge ICGSE Computer Science (Morgan, 2015) formulated some design questions that could prompt learner discussion before embarking on programming, while Hundhausen et al. (2013) established ground rules for learners to constructively annotate each other’s finished programs. However, neither provided scaffolding for learners communicating while problem solving. If one ascribes to the viewpoint that speech is the single most important tool learners have at their disposal for developing thinking, then this suggests a gap in Computer Science pedagogy: How can we support learners to verbalise their thoughts to each other during the process of programming a computer?

Learning from language teaching
English teachers guide learners through analysis of genre-specific literary devices in order for them to compose their own prose. Mercer (2000) states that all subject teachers should train learners to converse with each other within ‘subject genres’, analagous to abstract literary categories. Here, subject teachers could learn much from English as an Additional Language (EAL) teachers, who use prompts and writing frames for specific ‘text types’ (Matthews 2021) to enable learners to produce texts for different functions. Matthews (2021) clearly states that the sentence structures designed to support EAL learners are not only useful for helping them to develop their writing skills but also for their speaking skills. If this is so, why should that not also be the case for all learners? Such interventions, that have hitherto usually been deployed to include EAL learners into mainstream classrooms, could arguably facilitate the induction of all the learners into the community of the speaking and thinking classroom.

Future research for computer science pedagogy?
How can we support collaborative talk while learners write code to solve problems on individual machines? It may be that the functions of EAL text types offer parallels to Computational Thinking skills that could be exploited. In any case, it would be beneficial for Computer Scientists to consult linguists and explore how the activities of programming a computer engender the use of different types of language. For example, what kinds of language do learners use when decomposing a problem, generalizing a procedure, testing or debugging? How can such language be scaffolded in collaborative talk to promote the development of these skills? The effects on learner talk of collaborative programming environments such as the excellent ‘multiplayer’ feature of replit.com require similar analysis, as we may be able to identify ways to design future environments with tools to promote learner communication. Given that the process of programming a computer requires integration of variegated cognitive skills, there is clearly a need to investigate within Computer Science classrooms, how we can scaffold the connection between collective and individual thought.

 

 

Matthew Chermside: Teacher of Computer Science

Nationality: British

Qualifications: BSC(Hons) 1st Class Computer Science with German (2002), University of Wales, MA Computational Linguistics (2006), University of Essex, Qualified Teacher Status (2008).

Before qualifying as a teacher in the UK, Matthew spent three years teaching English in China and worked in a software company in Germany. After qualifying as a teacher, Matthew taught in schools in Essex, U.K., before teaching Key Stage 3, 4 and 5 ICT and Computer Science at international schools in Thailand, China and most recently in Malaysia. Matthew is currently very much looking forward to a new challenge and culture in Vietnam.

 

References

Barnes, D., 2010, Why talk is important, English Teaching: Practice & Critique, 9(2), pp. 7–10.

Hundhausen, C. D., Agrawal, A., and Agarwal, P., 2013, Talking about code: Integrating pedagogical code reviews into early computing courses, ACM Transactions on Computing Education, 13(3), Article 14

International Baccalaureate, 2012, Computer Science Guide, Cardiff: International Baccalaureate Organisation

Jenkins, C., 2017, Classroom Talk and Computational Thinking, International Journal of Computer Science Education in Schools, 1(4), pp. 3-13

Lave, J., Wenger, E., 1991, Situated Learning: Legitimate Peripheral Participation, 1st ed., New York, USA, Cambridge University Press

Matthews, B., 2021, Helping English Language learners to achieve the same learning outcomes [Online], available from: https://www.axcultures.com/text-types/ , [Accessed 29/10/2021]

Mercer, N., 2000, Words and Minds, 1st Ed., London, U.K., Routledge

Mercer, N., Howe, C., 2012, Explaining the dialogic processes of teaching and learning: The value and potential of sociocultural theory, Learning, Culture and Social Interaction, 1(1), pp. 12-21

Morgan, R., 2015, Cambridge IGCSE Computer Science Programming Book for Microsoft Visual Basic, 1st Ed., Cambridge, U.K., Cambridge University Press.

Open University, The, 2015, Innovating Pedagogy [Online]. Available from: https://iet.open.ac.uk/file/innovating_pedagogy_2015.pdf [Accessed 05/05/2018]

Resnick, M. and Brennan, K., 2012, New Frameworks for Studying and Assessing the Development of Computational Thinking, Proceedings of the 2012 Annual Meeting of the American Educational Research Association, Vancouver, Canada, American Educational Research Association [Online]. Available from: http://web.media.mit.edu/~kbrennan/files/Brennan_Resnick_AERA2012_CT.pdf [Accessed 28 October 2021].

Wing, J. M., 2006, Computational Thinking, Communications of the Association for Computing Machinery, 49(3), pp. 33 – 35.

Zakaria, Z., Boulden, D., Vandenberg, J., Tsan, J., Lynch, C., Wiebe, E., Boyer, K., (2019). Collaborative Talk Across Two Pair-Programming Configurations, Proceedings of the 13th International Conference on Computer Supported Collaborative Learning, Lyon, France, pp. 224 – 231