Programming isn’t the sort of thing you can learn from reading books. It takes ongoing dedication to writing code, solving problems, and squashing bugs to perfect. That’s why the computer science department at Howest University of Applied Sciences goes beyond the theoretical to give students hands-on programming experience.
Howest’s approach to programming education is wildly successful. Their video game development program Digital Arts and Entertainment is ranked by Princeton Review as one of the best in the world.
In Associate Degree Programming “Students go from just loving video games but having zero knowledge of development to being full-fledged programmers,” says lecturer Siegfried Derdeyn.
The secret behind all of Howest’s software development programs is project-based learning. The school partners with local non-profits to give students real-world problems to solve. “We don’t do multiple-choice exams,” graduate programming lecturer William Schokkelé says. “Our students spend their time building and debugging real applications.”
As one of the most important tools that professional programmers use on a day-to-day basis, GitHub is central to Howest’s hands-on approach to teaching.
Since 2018, Howest Associate Programming delivers all class examples, assignments and exams through GitHub repositories. Students submit their code to their instructors using GitHub, just as pros commit code to repositories. School work is published in private repositories. Previously, each instructor had their own process for submitting work, such as bundling code into a ZIP file and emailing it to a teacher. GitHub Education provides a more consistent way for teachers to manage and collect assignments. The lecturers discuss open source possibilities and encourage students to participate actively.
Nearly all course work for Howest’s developer programs is submitted through GitHub, with the exception of assignments for classes on topics like computer networking that don’t require code. It’s the center for everything students and teachers do. For example, instructional content and code examples live in the school’s GitHub repo as well. “We have a whole manual for teachers on how to set up new classes, what sorts of naming conventions they should use, that sort of thing,” Schokkelé says. And, of course, the manual is stored in GitHub so that the faculty can easily collaborate on it and update it.
One huge benefit of using GitHub to manage assignments is that instructors can more easily provide feedback on students’ code, using the same tools that professionals use to discuss each others’ work. It also makes troubleshooting much easier. A student who has a question or needs help with a particular piece of code can open up a pull request for review from a teacher or fellow student. Without GitHub, the student would have to share their screen, or the troubleshooter would need to download a Zip file and find the code in question.
“GitHub is really nice for us as a teaching tool,” Schokkelé says. “But our main purpose is that our students learn skills they can bring with them to the workplace.”
GitHub is really nice for us as a teaching tool. But our main purpose is that our students learn skills they can bring with them to the workplace.
Howest’s programming curriculum focuses on teaching C#, a programming language widely used in both game development and enterprise computing. “Our philosophy is that if we teach them one object-oriented language in-depth, they can easily learn another one later,” instructor Joachim François says. Focusing on a single language, instead of trying to teach multiple different languages, enables Howest to focus more on real-world development practices.
For example, students begin learning Git in their first programming module. “They start by using Git locally on their own machines,” François explains. “Then they move on to continuous integration and GitHub, use git workflow and even GitHub Actions for unit testing and deployment”.
Howest has long taught version control basics, though it was usually taught as a single lesson. “If a student missed the day we covered Git, they might not really learn it,” Schokkelé says. “So we decided to create an entire module for teaching GitHub and continuous integration.”
Howest also teaches the non-technical skills students need to thrive in the workplace, like collaboration with other students. “Many computer science programs will only have students learn about working in teams at the very end,” Schokkelé says. “We have them work as a team from the beginning.”
Many computer science programs will only have students learn about working in teams at the very end. We have them work as a team from the beginning.
Students collaborate on assignments, as well as the work for non-profit organizations, and learn Scrum processes to manage projects, such as conducting daily stand-up meetings and code sprints.
This focus on group collaboration made it easier to adapt to remote learning during the COVID-19 shut-down. Students were already communicating and collaborating on projects through GitHub and Microsoft Teams, so little had to change as a result of not being able to attend class in person. “Thanks to GitHub, we did not experience any problems shifting to digital learning”, Derdeyn says
It’s this ability to quickly adapt that Howest instructors value most about GitHub. “We’ve always tried to be leading-edge,” Derdeyn says. “We love programming, we love trying out new stuff. GitHub frees us from having to manage lots of different systems so we can focus on teaching and sharing that joy with our students.”
number of seats