James Stix, University of Edinburgh
The World Economic Forum released an article on the 22nd October 2020 whose title neatly summarised one of the most galvanised processes of the year across the world’s markets. The title, ‘Global workforce offered new skills by world-leading tech’ is an eye-catching sentiment towards the slithers of silver lining in a year whose front cover is otherwise probably most reminiscent of this:
Behind the drive from tech companies to reskill the workforce, is the continued growth global leaders have experienced – Amazon, Apple, Alphabet, Microsoft and Facebook all saw an increase in revenue over the first half of 2020, year-on-year. The language tech companies are thriving from – code – is in itself rooted in computational thinking. The more you learn about computational thinking and engage in it, the more you can feel sucked into a secret world that makes up so much of the fabric underlying our modern reality. Computational thinking has enabled too many inventions and discoveries to count here, but when it comes to education, courses that require some degree of computational thinking are no longer exclusive to engineering and computer science students in higher education.
Knowing how to think in terms of the different thought processes used in computer science to solve problems is of accelerating relevance across education. A basic knowledge of coding is now a requirement beyond the conventionally computing-heavy fields, as well as for students in secondary, primary, and even early childhood education. Learning computational thinking thus becomes crucial not only for engineers and computer scientists, but also for students in domains outside STEM like in History and Business. An essential part of computational thinking courses is a basic understanding of programming and, given how difficult it can be to provide a consistent experience across different devices and operating systems, programming courses often have required a technical setup to ensure that all students are running the same development environment. This can be a high barrier to entry for less technical students, teachers, and even institutions lacking proper information technology support. To lower this barrier, computational notebooks have been proposed as a way to minimize the amount of technical setup needed to provide a homogeneous programming environment.
Computational notebooks are online tools that combine resources (such as text or images), executable code, and both textual and graphical outputs. Initially, they were used mainly by data scientists for sharing and keeping track of data exploration as well as for reproducing knowledge and research. While their popularity has exploded in recent years, most prominently through the use of platforms like Jupyter notebooks, an open-source web application to create and share these notebooks, solutions like Jupyter often require technical infrastructure and lack support for rich educational experiences that integrate discussion, active feedback, and learning analytics. It can also feel like a whole new world for those migrating quickly from the Earth of last year to the Jupyter of this one. It has therefore become essential that the tools employed in introductory courses do not discourage students from continuing studies that reinforce computational thinking skills, especially given how important these skills are and will increasingly be into the future.
Initiatives have started to emerge from education institutions and the private sector to provide supportive platforms to learn coding and provide opportunities in the workforce. Microsoft launched a global skills initiative to teach coding to 25 million people across the world by the end of 2020; Google is increasing its work with online learning providers; Apple continues its ‘Everyone Can Code’ programme with resources for teachers, students and coding materials. Educational institutions are also stepping up to the challenge, with computational notebook platforms such as Noteable from University of Edinburgh’s centre for digital expertise EDINA, to provide cloud-based environments for teachers to set coursework and assignments and for students to learn remotely and asynchronously.
A multitude of challenges lie on the path to ensure this generation of students is skilled to become the next generation of leaders and workers, including addressing strong stereotype threats that can hinder learning in computer science, where female students are still widely underrepresented, or providing the backend server infrastructure to execute code and manage users, while directing students to cloud-based solutions such as Google’s Colaboratory risks violating privacy and legal regulations (e.g., GDPR). However, the winds of change are strong and, if you are looking for the positive challenges in the way of a more inclusive, informed and productive world, there does seem to be light at the end of the tunnel to the world of Jupyter.