Team: Sarah Skidmore, Zachary Estreito, Fredo Green
Jupyter Canvas is a computing platform that focuses on human-centered design and interactive computing. One of the primary challenges in computer science education is providing accessible resources to students. With Jupyter Canvas, we seek to make the deployment and use of computing tools simpler for users at the University of Nevada, Reno.
Jupyter Canvas integrates the provisioning of computing environments and shared dynamic documents with Canvas, the existing learning management system at the University. It provides users with accessible and interactive computing resources through browser-based access to both Linux containers and JupyterLab interfaces for creating and sharing dynamic documents. Users can interact with their resources through a master controller website that provides an individualized set of system functionalities based on the user account type. In addition, the nbgrader Jupyter extension and Stanford's Moss have been integrated with the Canvas API for assignment distribution, grading and plagiarism detection. Instructors can manually or automatically grade student code, compare student submissions for semantic code similarity and import feedback directly to Canvas. By focusing on human-centered design in user interface and infrastructure deployment, the Jupyter Canvas platform can be used to leverage shared resources for instruction with reproducible and accessible environments.
Jupyter Canvas can impact our campus community in numerous ways. Our project addresses significant security concerns related to deploying custom user environments on shared computing resources. Through rootless containers, we can provide users the convenience of fully functional sandboxed environments without the security risks of privilege escalation in a shared multi-user environment. In addition, the use of Jupyter interactive notebooks is continuing to expand in industry, education and research communities. We believe that the development of interactive computing with Jupyter notebooks at the University will benefit not only students and staff in our campus community but also could provide an important resource for our educational and community partners. Finally, we hope that our project can help change the way our users envision computing resources. Despite the institutional and research-based increase in the use of High Performance Computing (HPC) and cluster-based shared environments, most of our users are unaware of these innovations. By making their use more accessible to everyone in our community, we hope to promote the advancement of modern computing knowledge in the population.
CSE-23 Lighting Talk