University Teacher in Engineering and Robotics
The Robot Operating System (ROS) is a framework for programming robots and is increasingly becoming the most widely used framework of its kind in the robotics industry. There is a large online community of developers actively working with ROS, as well as a large community of engineers, professionals, students, hobbyists, enthusiasts who want to learn how to use it too. A wide range of online resources already exist to support education and adoption of ROS, but it can be hard to know where to start or what resources to rely on and some of the better courses only exist via paid-for services.
I started developing the ROS course (for the School of Computer Science) back in 2019, with the aim of teaching our second year undergraduates about what ROS is and how to use it through a 12-week series of lab sessions with real robots. In doing this, I drew upon a number of excellent online resources to learn ROS myself. It seemed to me that there was a lot of demand for such materials online and it also seemed only fair to give back to the community by making my work available too. I therefore opted to publish the course materials openly online.
I noticed that lots of other Computer Science academics seemed to be hosting their teaching material online via GitHub. This was appropriate for the content that I was developing too, since GitHub is primarily an online code repository server, and a large amount of the material that I would be code and documentation to support it.
GitHub allows users to generate Wikis, which are hosted by GitHub for free, and are accessible to anyone on the internet. I therefore initially developed the course as a Wiki (see here) and received good feedback from students on both the content and the format. Through GitHub it's also possible for users to create and host websites, via GitHub Pages (also free). Over time, this seemed like a more appropriate solution for the course, and it therefore evolved into the GitHub Pages site which is available from the "for Learners" section of this site.
All the above resources are free to use (GitHub, git, and the static site generator used to generate the website HTML), but there’s a bit of a learning curve for those who have no prior experience of using such things (which I didn't, at the time). There are however a lot of online resources available to learn how to use these things, the main challenges are really:
Knowing where to look
Having the time to learn
Using a GitHub pages site (or indeed any website) to deliver teaching material allows tools such as Google Analytics to be integrated so that the author can gain insight into how often the resources are accessed. This is therefore potentially useful for monitoring impact of the resources, particularly if it can be shown that the site is being accessed across different geographic locations, or if the site still receives page views outside of the teaching semester, when the course is no longer actually being taught.
I've been using these resources to teach the 2nd year Computer Science Robotics Course ("COM2009") for the last 3 years now and frequently receive positive feedback from students about it. The open-access format makes it easy to share, and I am already aware of the resources having been used to teach others, beyond the COM2009 students. One former student contacted me to explain that he had joined a co-curricular robotics group and had used the resources to teach other members of the group how to use ROS. Similarly, one of my GTAs also used the course materials to teach another group of students on a different co-curricular project too. I've also recently been contacted by an academic from another UK University to find out more about the course so that they can do a similar thing at their own institution!
This case study was originally published by the University of Sheffield's Open Educational Resources (OER) Working Group. You can find more OER case studies (beyond engineering) and also a whole range of OER guidance and examples on their website here.