Skip to content
Get 30+ hours of free content from GitHub Universe! Watch now.
GitHub Enterprise

National University of Singapore future-proofs students with GitHub.

  • 900 students taught using GitHub in software engineering courses in the last academic year
  • 119 repositories for course projects in the last academic year
  • 1 GitHub organization per course each semester
Location
Singapore
Industry
Education
Number of Seats
900
Problem

National University of Singapore wanted to teach students to collaborate as a team and learn skills that will prepare them for the workplace.

Solution

National University of Singapore incorporated GitHub into the curriculum, giving students the chance to use the tools they will one day use professionally to submit coursework, receive feedback, and work as a team.

Products

Universities take on the enormous responsibility of preparing students to thrive in an uncertain future. That’s especially true in computer science, a young and rapidly evolving discipline. At the School of Computing (SoC), National University of Singapore (NUS), computer science students learn to think critically and creatively so that they can make an impact in the world, whether that’s in academia or beyond the university walls. With about 175 faculty and close to 5,600 undergraduates, NUS’s computer science program was rated seventh in the world by Times Higher Education World University Rankings and sixth by the QS World University Rankings.

NUS’s computer science program maintains its high rankings by providing an in-depth and hands-on education in the foundations of computer science, which remain applicable regardless of programming language or software stack. The classes take a participatory approach to learning, with both individual and group projects, helping students to go beyond theory and apply their knowledge to challenging problems. Professors prepare their students to adapt to whatever the future of computing holds by going beyond software design, data structures, and algorithms. But, today's software developers rarely build in a silo, so students need to learn to collaborate. That's why SoC faculty Dr. Akshay Narayan and Dr.  Bimlesh Wadhwa, and their colleagues incorporated GitHub into the software engineering curriculum at SoC, NUS.

GitHub provides a platform where students can work as a team. It teaches them to organize their work so that their peers can read and contribute to it.

By using GitHub in their coursework, students submit their work and receive feedback using the same tools they'll one day use professionally, and cultivate vital skills for the workplace. "GitHub provides a platform where they can work as a team," says Wadhwa. "It teaches them to organize their work so that their peers can read and contribute to it, and allows us to watch how they come together as a team and create workflows that fit their needs."

Wadhwa points out that many employers expect developers to include their GitHub profile on their resumes or LinkedIn profiles, so using it in school helps them start building a collection of public repositories, highlighting their work. "If our courses don't include GitHub, their profiles will look empty when it's time for them to apply for jobs," she says.

From hosting and tracking assignments to coordinating code reviews, GitHub Classroom is SoC’s students and tutors preferred collaboration platform for Software Engineering courses. "It's nice to have all our repositories in one place," Wadhwa says. "And it makes it easier for tutors to check for plagiarism." Some of the courses also use GitHub Pages for course content and wikis for documentation.

Narayan and Wadhwa first introduced GitHub to their courses in 2016, and since then, students have been introduced to Git, version control, and continuous integration (CI) early in their studies through the introductory Software Engineering course, where they start off by creating local repositories and learning how to traverse their commit history. They then learn best practices for using remote repositories as a single user. Eventually, they learn about upstream interactions, merge branches, and other aspects of working with shared repositories. The course even introduces pre-made GitHub Actions workflows to give students a flavor of  CI/CD. 

Students then go deeper into using Git and GitHub in the more advanced Software Design Principles and Patterns course, where students work together in teams to complete a complex project alongside their individual assignments. Wadhwa and Narayan provide students with starter code templates through GitHub classroom, but from there the students largely pick their own tools and processes. "We provide students with a cloud service, but they're responsible for deploying their projects," Narayan says. "They pick the CI/CD tools they want and build their own workflows. They can use Travis or CircleCI if they want, but GitHub Actions is the most popular choice because it's integrated into the GitHub platform."

These courses also introduce SoC students to the various open source communities active on GitHub. The Software Design Principles and Patterns course, for example, introduces them to several different open source tools, such as Docker and Kubernetes. And to complete their group projects, students can employ any front-end and back-end tech stack that suit their needs. They explore the possibilities on their own and implement the solutions themselves. "As they build their projects, they often have to reach out to the open source communities behind different tools for support," Narayan says. "That's good for them, because even after they leave university they'll always have access to that community and familiarity with the platform and tools," adds Narayan. Many students become open source contributors themselves, which also improves their career prospects and deepens their knowledge of software engineering practices.

By the time they finish NUS’s computer science program, students are well prepared to join the workforce, having already learned many of the same tools and technologies that they'll use on a daily basis. "Instead of having to ramp-up, they already have a head start," Wadhwa says. "I've had so many students who came back after they finished an internship and say the Software Design Principles and Patterns course is the most relevant thing that I've taken.’"

Wherever they end up working and regardless of the technologies they deploy, the lessons SoC students learn collaborating on GitHub will be with them wherever their careers take them to help them make their mark on the world.

Interested in bringing GitHub Enterprise to your organization?

Start your free trial of GitHub Enterprise for 30 days days and increase your team's collaboration. $21 per user/month after trial expires.

Curious about other plans? from GitHub

What will your story be?

Start collaborating with your team on GitHub

Want to use GitHub on your own?
Check out our plans for individuals