Design and Implementation of a Course Management System for University Lectures
At the University of Tübingen, lectures are organized using a variety of different tools. These include, for example, the university’s Moodle. Ilias, Github Classroom, or several homegrown solutions like Infomark, or historically CIS and its respective forks. This leads to a fragmented ecosystem of tools, and essentially the need for lecturers to reinvent the wheel for each lecture. This is not only inefficient, but also leads to a poor user experience for students, who have to (1) familiarize themselves with a new tool for each lecture, (2) juggle multiple accounts and passwords, and (3) may miss out on important information because they are not aware of all the tools being used.
To make this concrete, for the Informatik 1 lecture in the winter semester 2023/24, we used Discord for communication, and a private fork of Infomark for exercise submission and grading. This meant that students had to create accounts on both platforms, and navigate between them to access all the resources and information they needed for the course. But for our other lectures, we typically use Github Classroom for exercise submission and grading, because it fits our workflow and requirements better.
This is a mess! We need a better solution. Not only is this frustrating for students, because they are not only confronted with multiple platform registrations by us, but by even more platforms for other lectures. But it is also inefficient for us as lecturers, because we have to spend time setting up and managing multiple platforms, administrating them, and supporting students in using them.
In this thesis, we will design and implement a new course management system that will, at least for our lectures, consolidate the various tools we currently use into a single platform. This will not only improve the user experience for students, but also make it easier for us as lecturers to manage our courses.
- Instead of relying on either Github Classroom or Infomark for exercise submission and grading, we will use a Git backend (Gitlab) for all our lectures.
- Management of the Git repositories will be done through an OpenTofu script, so that we can easily create, manage, and delete repositories for our lectures.
- We will integrate the ZDV’s identity management system (Shibboleth) for authentication, so that students only need to log in once to access all the resources and information they need for their courses. So no more juggling multiple accounts and passwords—but leveraging the university’s single sign-on system they already use for other services.
- We will integrate our obligatory use of Discord for communication more tightly into the platform, so that students can easily join the relevant Discord server for their course directly from the platform, and receive the necessary roles and permissions automatically.