Teaching during COVID
As an academic, my work balances both delivering face to face teaching and the leadership and management of research in equal measure.
COVID has had a profound impact on the way we can work and forced us to make decisions about how to best deliver high quality teaching and foster a community where researchers feel engaged and motivated.
I thought I’d write a wee post about how I have tried to structure some of my teaching to give students the best experience I could think of under current circumstances and see if this motivates some discussion.
Whilst I also give regular lectures, most of my teaching this semester consists of two weekly 3 hour computing practicals on our 2nd year Geophysical Data Science and 3rd year Mathematical and Computational Methods courses. I use a similar teaching style on each to make it more efficient.
In Geophysical Data Science, we introduce out geophysics students to the basics of coding in Python and build up to reproducing some of the classic analyses of climate data that are often seen in the media.
In Computational Methods we are looking at developing deeper coding skills, computational thinking and the use of computational methods such as using Fast Fourier Transforms and solving differential equations using the finite difference method.
So how do I do this?
There are two core tools I have been using in delivering these courses.
Tool 1: DataCamp
The first is an online learning platform called DataCamp that specialises in teaching coding in Python and R with a data science focus. This is available for free use for University Classes and gives students 6 months access to the normally paid for content. The web interface means that you can enrolling a class of students and the web interface shows how students are progressing and whether students have completed assignments on time.
Using these online courses is great for:
- ensuring all students have a common foundation
- allowing students to compete the exercises at their own pace so that students who are new to coding can build confidence whilst not holding back students with prior experience
- allows me to assign harder core courses for students who already have coding experience so that they are getting credit for learning new material rather than getting bored completing courses on material they already know.
DataCamp allows me to address the core competencies, but I also need a tool for bringing in the material which is in a Geophysics context.
Tool 2: Jupyter Notebooks
Jupyter Notebooks are a great way to combine prose, runable code, coding challenges and mathematics in a single interactive document.
The service EDINA provides gives a persistent file space and a non-persistent kernel with pre-loaded packages tailored for Geoscience applications. This is available in a web browser and integrates with learn to make it easy to distribute, collect, mark and provide feedback on student assignments. This teaching functionality is provided by nbgrader. An assignment is essentially a folder of notebooks, python files, data and images with teacher defined portions of the answers automatically removed. This work well as we only ever work with a single working copy of the material and put comment blocks about the parts we wish to be hidden in the student versions. The working solutions can then be distributed to the demonstrators and circulated to students after the class.
This is really useful as it engineers out problems from people installing software on their own systems.
The marking and feedback system is also very efficient and html versions of the assignments with grades and comments are pushed back to the students with a single click.
A common criticism of the notebooks is that scientific coding is more generally done in standalone programs. Whilst I accept this, think we can still teach this approach by getting people to modularise code they first develop in a notebook and then reuse those functions later.
I have found this development of interactive lecture notes very rewarding and have seen the students confidence grow through their use. We spend more of our time discussing interesting aspects of the coding rather than getting the system to work in the first place.
How do I organise the classes?
I have a plan… but we will see how the technology works!
When teaching coding, it is important that the tutors and I can look at the efforts of the students to identify where they have gone wrong when their code doesn’t run. Normally, the errors are minor about formatting, spelling,… It would be impossible to teach this effectively if we could not look at their screens and COVID restrictions make it impractical to do this in a computing room whilst socially distancing. Consequently, I made an early decision to deliver these classes entirely online where students could share their screens with the teaching team in live breakout groups during the classes.
This should be deliverable by Learn Collaborate, Microsoft Teams or Zoom – we will wait and see which proves the most reliable. For now, I have set up all three incase…
This approach means I can present to the whole class, record my contributions for asynchronous users and use breakout rooms for small group teaching and trouble shooting.
The downside, is that I can only offer the tutor support at pre-defined times which may not work for all users. We will see.
What else am I adding in?
It is important to me that the classes are as interactive as possible – even under current conditions.
Within Geophysical Data Science, one of the assessments is a group piece of work analysing publicly available datasets to solve real-world problems. This allows the students to work in small groups, get used to communicating coding challenges and problems solving in small groups. My aspiration is to develop a community of practise where students are working together to jointly lift their skillsets and deliver ambitious pieces of work that would be difficult to do individually. I hope this will provide positive interaction at this difficult time.
I believe that the development of strong coding skills in our geophysics undergraduates will improve their employability and research capablities dramatically. I am already seeing this in that students who took the course have been interested in further projects, they have taken extra DataCamp courses out of interest and one student received an internship developing resources for EDINA.
I hope my plans for delivering the material this year pan out 🙂