The Centre for Advanced Research Computing (ARC) of University College London (UCL) designs and delivers continuing professional development offerings in digital research practices to colleagues and students across UCL, in addition to credit-bearing modules for MSc-level students.
Each term, ARC hosts a community event for those that teach code and related skills across UCL and beyond. This usually takes for the form of a seminar with networking opportunities.
Samantha Ahern became aware of the unexpected unavailability of the term 2 event speaker on the morning of the event. As lead organizer, she was keen for the termly event to go ahead, and decided to use the session as an opportunity to take time to reflect on what it is that we do, as it is not always possible to do so during busy work periods.
Over the course of an hour, Samantha used some prompts she had prepared during the day to guide a reflective discussion. Prompts were organized into four categories, with each category time boxed to focus the discussion. Prompts were:
- What we teach
- There are specific things that we teach, but what do we teach beyond the skill?
- What is our hidden curriculum?
- What synergies are there between the different topics and areas that we teach?
- There are specific things that we teach, but what do we teach beyond the skill?
- Training for those who teach
- How prepared were you to teach these topics? What, if any, formal training did you have?
- What additional personal development have you undertaken?
- Material development
- What, if any, OER (open educational resources) do you use? Are you a solo or co-author?
- Is there anything you are currently working on?
- Platforms for teaching and material creation
- What platforms do you use? What are the positives and drawbacks of these?
- Are you using things such as the Carpentries lesson infrastructure?
What do we actually teach?
Every course has predefined learning outcomes, but there is also a hidden curriculum: things that are taught, developed, and enabled that are not part of that explicit curriculum. These are often referred to as graduate attributes, and in UCL these are defined through the Pillars of Employability, the six pillars of which are skills, knowledge, global citizenship, career planning and decision making, values and personal attributes, and experience and networks.
Two of the skills that coding develops are problem-solving and resilience, especially when there is an error that needs to be identified and resolved. Associated with self-regulation and meta-cognition, as our learners develop as coders, they also develop an awareness of when, where, and how they need to gain a deeper understanding of a topic area, change their approach, or experiment with a new tool.
By its nature, what we teach is interdisciplinary. There are the computer science skills of coding itself, but then there is the contextual knowledge from other discipline areas to be able to develop effective code to meet a specified need. Code is also an abstraction; it requires creativity and imagination to reimagine concrete items and concepts as data structures.
In addition to the specific programming and software development skills that are taught and referenced by the learning objectives, there are also skills components of the employability pillars that students develop if they fully engaged with the course. We don’t just teach programming, but also a mindset of how to approach problems.
Some of this does appear in the Quality Assurance Agency for Higher Education’s Subject Benchmark Statement for Computing, but only in the descriptors of “Excellent” undergraduate students. What are the implications for students who are not “Excellent”?
How have we developed as educators?
For almost all the discussants, undertaking activity as an educator is secondary to their main role, as such, there may not be any formal training requirements set by UCL. To ensure quality of provision it is important to undertake regular development opportunities.
Although many in the group were experienced educators, very few were formally trained, while some had started their educator journeys with no training, delivering lectures or leading modules across undergraduate and master’s level courses.
Some had undertaken generic pedagogical training provided by UCL or previous institutions, either as part of an induction requirement or as ongoing continuing professional development. Although this was found to be generally useful, it was also seen as a little too generic at times. The teaching of coding and related skills can require different pedagogic approaches to some other discipline areas, such as coding along in real time, in addition to considerations around digital equity and the accessibility of different teaching methods.
Most development was informal. Observations and feedback were found to be helpful, as were courses in skills such as use of voice and presentation skills. Training, such as The Carpentries Instructor Training, was noted to be quite impactful and introduced concepts that may not previously been considered.
Do we walk the talk?
Amongst those present, there was a preference to teach practices that facilitate open science and where possible, this is done using open source tools. One of the components of open science is open education and open educational resources.
The Carpentries materials are well used by some discussion participants, and form the basis of some modified learning that is shared as open educational resources (OER).
However, many were not making use of OER, and felt that it was difficult to find and evaluate the quality of suitable resources. Additionally, time and a sense of niche-ness were barriers to the sharing of their materials as OER.
What tools do we use for teaching and materials creation?
One point of discussion was how do we define a “teaching platform”? There are several platforms that are used that facilitate different parts of a learning journey.
Some of these include:
Our institution uses Moodle as its virtual learning environment; Moodle courses exist for all taught modules across the institution. These act as a “sat nav” for courses, guiding students’ learning journeys as course materials are shared via sections for each week or topic and is the primary method for setting and submitting formative and many summative assessments, but is it a teaching platform? Interaction is often asynchronous and outside of contact hours. However, it has at times proven difficult to have tools such as the CodeRunner plugin added to the Moodle environment.
Platforms such as CoCalc provide a more inclusive environment, provisioning a compute environment alongside learning tasks. However, this is not a real-world environment.
In some courses, students are encouraged to use tools and platforms that they would experience outside of the classroom, such as GitHub and VSCode, and in some instances cloud compute.
There were a range of approaches taken to learning materials creation, including, in some cases, the use of The Carpentries lesson infrastructure.
Overall, it was widely acknowledged that adding or developing onto new platforms was not always possible (or available when needed), and that there are trade-offs when cohort need relies on using ‘in-house’ tools/platforms.
Conclusion
“Were all instructors to realize that the quality of mental process, not the production of correct answers, is the measure of educative growth something hardly less than a revolution in teaching would be worked.”
― John Dewey, Democracy and Education
As professionals in the fields that we teach, we understand the importance of developing interdisciplinary skills in addition to performing well in assessments. However, do our students?
The importance of these mental processes and the employability pillars they demonstrate are not always clearly articulated to students, forming a hidden curriculum, and some tactical approaches to study being undertaken may ultimately limit their learning. How do we make that hidden curriculum more transparent?
Equally, how do we identify and make space for meaningful development opportunities for both new and experienced educators? Each term, ARC organizes a Teach and Code Social event for those at UCL and beyond who teach programming and related skills. They usually take the form of one or two short talks, and an opportunity to network over refreshments. Are these events a contribution to peer learning and the start of a burgeoning community of practice?
Being able to reflect upon both what it is we are teaching, but also ourselves as educators, is an important part of continuing professional development. We would like to thank our colleagues Milan Malfait (ARC), David Perez-Suarez (ARC), and Ben Waugh (Department of Physics and Astronomy), who also took part in this discussion for their openness and honesty.
Samantha Ahern is a Senior Digital Research Trainer working predominantly with the Centre for Advanced Research Computing of University College London on its Education program and leading the ARC research theme Transforming Research Communities.
Sunny Park is Senior Research Software Engineer at the Centre for Advanced Research Computing of University College London, where he aims to lower barriers to digital scholarship across diverse research disciplines.
Hollie Rowland is Professional Research Investment Strategy Manager for the ARC Operation and Strategic Development Group at University College London.
Victoria Yorke-Edwards is Senior Research Data Steward of the ARC Research Data Group of University College London.