+

How GitLab automates course work, enhances coding feedback, advances software quality, and scales for success.

  • Improved code quality
  • Increased student satisfaction
  • Enhanced efficiency with automation
Industry
Employees29,000
LocationEdinburgh, Scotland, UK

Want to see what GitLab Ultimate can do for your team?

Start your free trial

Software engineering skills are critical to the modern economy, but learning the essential concepts and best practices of programming is not getting easier. Within Heriot-Watt University’s Computer Science department, GitLab is being used to drive formative feedback, and improve coding skills for students as they prepare to enter the industry.

The Heriot-Watt University Computer Science department looked to automate portions of code assignment reviews, individualize students’ learning, provide version control, improve formative feedback, and scale-up software development courses to support additional campuses in Asia and beyond.

GitLab has played an instrumental role in preparing students for professional practice, especially in terms of learning about source control, builds and best practices in agile development.

- Rob Stewart, Assistant Professor of Computer Science, Heriot Watt University,
Heriot-Watt University Computer Science Department turbocharges old learning methods

For the HWU Computer Science Department, the evaluation process began with the use of highly agile GitLab threaded-discussion capabilities. Next came steps toward systematic testing of student code. Progressive use of elements in the complete GitLab ecosystem was important, as the Heriot-Watt Computer Science Department endeavored to support work at additional remote campuses located across the globe. The ability to self-host GitLab enables students to use their Heriot-Watt University IT accounts with GitLab, via OAuth authentication. To facilitate lab helper interactions and course deployment, Heriot-Watt University has developed an open source Haskell library for writing GitLab programs and type safe GitLab system hooks. Heriot-Watt University uses it to automate commonly performed GitLab actions when delivering coding courses, which provides a consistent student experience across their courses at a global scale. Lecturers are able to monitor incremental completion of student assignments and, in turn, identify common misunderstandings amongst learners. GitLab use allows the teaching teams to bring the “commit classroom. GitLab's continuous integration supports automated testing of classroom.GitLabs continuous integration supports automated testing of student code, reducing the time it takes to mark submissions. Heriot-Watt University has an intensive software development track in years 1 and 2, in which GitLab is extensively integrated to ensure students gain the programming skills required for higher-level language constructions, and security.

Improving student programmer outcomes, adapting to pandemic challenge

GitLab has been embraced by the Heriot-Watt student programming community, and adoption has even seen students creating their own GitLab projects for group work and their own coursework. Rather than shuffling through emails, students use managed GitLab thread discussions with lecturers and their peers with a clearer 'close to the code' view of

GitLab has played an instrumental role in preparing students for professional practice, especially in terms of learning about source control, builds and best practices in agile development. GitLab is a great platform to introduce version control to students, especially as it closely mirrors the commercial repository hosts. GitLab has become central to equipping early year students with vital skills for advanced final year courses. A recent survey of Heriot-Watt students indicated that over 86% enjoyed using GitLab in their courses.

Naturally, many will encounter GitLab upon entering their careers. Their HWU experience prepares them for careers where skills working with this repository host is invaluable. Using GitLab trains them in the ways of modern programming and modern DevOps. With ready access to issues, storyboards, pull requests and job runners, students are exposed to agile methodologies, development best practices, and tools for automatic testing and deployment.

Perhaps most notably, the students gain experience in collaborative development, sharing expertise, and code critiques. This happens as a natural part of the learning/development process, within a common programming environment. Moreover, student users cite GitLab’s pivotal role in enabling collaboration during a pandemic-driven lockdown, when they could not gather together in the same place. “It allowed us to take online coursework and submit and receive programming exercises in a way I did not know was possible, allowing for the continuation of studies during the COVID-19 Pandemic lockdown.” Jérémy Bruyère, MSc Artificial Intelligence student.

Students receive feedback that would be otherwise hard to get efficiently. Peer groups are formed for formative feedback supporting anonymity between peers. HWU teaching team members report that using peer testing in the GitLab environment positively impacts students’ understanding of the role of testing in modern development. GitLab provides a dependable platform and in its essential support of open-source software, it directly aligns with HWU values.

GitLab has been central to improvement of code quality and documentation practices among Heriot-Watt University Computer Science students, and it has enhanced the effectiveness of critical peer testing practices that prepare students to handle real-world applications. “GitLab has made group work easier…it was a crucial tool in multiple group work projects. Really helped with coordinating development”, added Manuel Maarek, Computer Science Lecturer, HWU. The open source culture of community and transparency at GitLab aligns with the University ethos and approach.

The Heriot-Watt University Computer Science program, with the help of GitLab, has worked to create a dynamic dialogue between students and instructors - in particular, to close the feedback loop for programming exercises, improve the efficiency of students when completing lab work, and increase code quality thanks to peer feedback and peer testing approaches embedded into Heriot-Watt University's computer science teaching practices.

All information and persons involved in case study are accurate at the time of publication.