Removing barriers enabling programming outside of computer science

Removing barriers: enabling programming outside of computer science courses

Outline for our session Frame the problem Share the solution Consult with the panel

What opportunities do students have to learn programming on your campus? Computer science courses Other courses “Boot camp” like programming workshops Hackathons Other?

Problem to solve Programming helps students learn science and conduct research but non-CS instructors are challenged by how to introduce programming without overwhelming their students.

Course needs 1. Friendly Programming Interface 2. Compute without setup 3. Distributing Content for Programming Assignments 4. Collecting and Grading Programming Assignments

The solution: Friendly Programming Interface Live code, equations, visualizations and text Web-based Interactive Multiple programming languages http: //jupyter. org Multiple ways to share

The solution: Friendly Programming Interface Use it View it Share it

Compute without setup: Deploy a Jupyter. Hub

Compute without setup: Deploy a Jupyter. Hub ● Compatible Authentication ● Scalable to classes of different sizes ● Pre-configured environment ● (Lab) Interface with access to notebook interface, file editor, terminal window and more ● Persistent storage

Distributing and Collecting Lectures and Assignments ● Introduce students to version control ● WHY? ○ Fundamental practical skill in Software Engineering ○ Tracking changes over time ○ Good collaboration practices ○ Reusability ○ Improve course organization

Distributed Git development Largest Visibility Great for Public repos Academic discounts for private

Distributing and Collecting Lectures and Assignments

Distributing and Collecting Lectures and Assignments ● ● ● Git. Hub Classroom for distribution and collection Canvas for PDF submission and grading Optional Workflows for Lecture distribution


Faculty Feedback The students were able to see how air resistance affects how fast an object falls. Usually we neglect air resistance when we talk about experiments like those performed by Galileo. . . [But] Computers make it easy to simulate drag's effects on falling. ~ Jim Valles, Professor of Physics, Brown University

Student Feedback Students’ perception of the importance of programming Students’ reported desire for more programming in courses

Considerations ● On-prem compute vs. Cloud ● Cost of Cloud compute resources and open use. ● Support model ● Finding campus partners

Q&A with the panel
- Slides: 18