GitHub

Description:

GitHub is a cloud service that provides source code repositories, issue tracking system, wikis and other tools used by software developers in the real world.

Students working on course projects or assignments write software and follow a development process similar to that of professionals. Teaching students to use the processes and tools used by professionals has several objectives:

1) students are exposed to an explicit process for developing software that includes version control management, documentation of process, code review by peers, continuous testing.

2) collaboration activities are visible and audit-able, making it possible for instructors and TAs to coach teams as they encounter difficult

3) using state of the art tools simplifies the administrative overhead of instructors, and gives them additional tools to provide better formative feedback to students and to spend more time engaging with students on their work.

Information about GitHub and accessibility: https://government.github.com/accessibility/

It isn’t necessary for students’ use of GitHub be integrated into the LMS. By the time they reach third year, most CS students are familiar with a with variety of cloud services and do not mind managing multiple accounts. Also, it is not expected that grades or summative feedback will reside on this platform. The main purpose for this proposal is to have the University conduct a risk management audit of GitHub in order to ensure it meets our standards.

Notes:

The computer science courses that teach students about software development practices and software engineering, as well as courses in which students collaborate on large projects. I expect once instructors become more familiar with the opportunities that GitHub offers more courses will be interested in using it.

For the Fall 2016 the following courses have expressed direct interest in using GitHub: CSC207 Software Design, CSC301 Intro to Software Engineering, CSC302 Engineering Large Software Systems, CSC309 Programming on the Web.

I have used public repositories in GitHub to run an open source project for 8 years. More than 160 students have worked on the project using GitHub, and most of those students have participated in the project as part of an independent study course. They use GitHub to create and respond to bug reports and feature requests, to report on work they have completed, to submit their work for review and then respond to requested changes. They also learn technical skills in managing a code base, writing tests, creating branches for side projects, rolling those branches into the master version. As a manager of this project, I can easily see the work that each student has done, provide feedback, and monitor their progress.

I have also seen many students adopt GitHub as a platform for their personal projects, or even sometimes using it on their own as a collaboration tool for team projects in their courses. A growing number of students also use GitHub as a place to display their portfolio of work, and post prior course projects on GitHub where prospective employers can see examples of their work.

Website:

https://education.github.com/pack

Submitted by:

Karen Reid

reid@cs.toronto.edu

Computer Science

ACTFBRef# 163335

 


JupyterHub

Description:

JupyterHub is a server that gives multiple users access to Jupyter notebooks, running an independent Jupyter notebook server for each user.

“The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modelling, machine learning and much more.”

Basically Jupyter Notebooks are the up-and-coming thing in sharing data analysis, computer science teaching, etc. But they’re not the easiest thing for our students to set up. Having a JupyterHub installation that ties to UTORauth / UTORable would be great since it would allow us to focus on pedagogy and not technical support.

Notes:

The following courses in Computer Science and Engineering have been exploring using Jupyter Notebooks: CSC108, CSC180,  ESC103, and STA286 

Basically almost any Python programming course, Matlab (aka. Octave) course, statistics course (that uses R which is many, so I’m told) can benefit (we will need some help getting the R kernel and the Octave kernel working)

I have used the Jupyter Notebook through a local installation running on my personal laptop. Setup wasn’t too bad except for some issues at the intersection of Matplolib, Virtualenv, and the OS X system Python.

I haven’t used JupyterHub owing to a lack of server infrastructure and time.

I am in the midst of converting my personal data analysis pipeline from R to Python-On-Jupyter-Notebook because of the ease of development and visualization.

Website:

https://jupyterhub.readthedocs.io/en/latest/

Submitted by:

Jason Foster

jason.foster@utoronto.ca

Division of Engineering Science

 

ACTFBRef# 163617