A Hands-On Guide to Teaching Programming with GitHub, Travis CI, and Python
By Gregory M. Kapfhammer

Have you ever wanted to teach a room full of students or your colleagues? It turns out that it is difficult to setup the infrastructure needed to deliver source code and documentation and then assess submissions! Suitable for full-time educators and industrialists who instruct their colleagues, this talk explains how you can teach programming using GitHub Classroom, Travis CI, and Python.

Saturday 10:30 a.m.–11 a.m. in Cartoon 2

Real-world software engineering is collaborative, commonly involving the use of Git, GitHub, and continuous integration with Travis CI. Suitable for both full-time educators and members of industry who educate their peers, this presentation will explain how to use these technologies and platforms to teach interdisciplinary and introductory courses in computer programming and software engineering.

The presentation will first show how to create a GitHub organization connected to a GitHub Classroom with unlimited private repositories that contain instructor solutions and starter kits and assignment submissions from both individual and team-based programming assignments. The talk will next explain how to connect GitHub repositories to continuous integration servers hosted by Travis CI, thus supporting the cloud-based execution of tests and checks.

The presentation will subsequently introduce a Python program that supports the local and cloud-based checking of a student's source code and technical writing for a programming project. Ultimately, people who attend this talk will learn more about how to use open-source software and the Python programming language to effectively deliver instructional materials and assess assignment submissions.

Gregory M. Kapfhammer

As an Associate Professor of Computer Science at Allegheny College, Gregory M. Kapfhammer enables students to understand and create innovative software. By partnering with well-known technology companies and both creating and adopting open-source software, Kapfhammer designs and delivers interdisciplinary courses.

Emphasizing the importance of oral and written communication and teamwork, Gregory Kapfhammer teaches undergraduate courses in areas such as data management, software engineering, and web development, releasing his course materials through GitHub repositories and mobile-ready web sites. An award winning researcher, he involves students in projects leading to the publication of papers and the release of software tools and data sets.

Gregory Kapfhammer sees the success of his students as his greatest achievement. They have secured positions at top technology companies such as Amazon, Dell, Facebook, Google, Intel, Microsoft, Tumblr, and numerous startups. Many of Kapfhammer's students have also prospered in academia, receiving prestigious research fellowships and paper awards.

Interested in learning more about Gregory Kapfhammer? You can visit his web site to access his teaching and research materials and read his blog or you can check out his GitHub profile to use his open-source software!