Slide 1

Slide 1 text

Deploying a Reproducible Course Lindsey Heagy, Rowan Cockett & GeoSci Team Jupyter Con August 25, 2017 @lindsey_jh, @rowancockett

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

The subsurface geophysics?!

Slide 4

Slide 4 text

Option 1: Dig it up?

Slide 5

Slide 5 text

Option 2: Drill it?

Slide 6

Slide 6 text

Option 3: Use geophysics!

Slide 7

Slide 7 text

Physical properties

Slide 8

Slide 8 text

Direct current resistivity

Slide 9

Slide 9 text

Direct current resistivity Conductivity

Slide 10

Slide 10 text

Currents Charges Voltages tools

Slide 11

Slide 11 text

Implemented in Python! tools

Slide 12

Slide 12 text

What? ● 1 day course ○ 1 web-based “textbook” ○ 26 notebook-apps ○ 560 slides ● + 1 day “lab” ○ Discussion, tutorials ○ Presentations from participants http://disc2017.geosci.xyz Kyoto, Japan

Slide 13

Slide 13 text

Who? ● Participants ○ Industry professionals, applied academics ○ 1400 people, 21 countries ● Contributors ○ Graduate students, academics ○ 52 people, 16 are on github http://disc2017.geosci.xyz Hyderabad, India

Slide 14

Slide 14 text

Goals ● Inspire through applications ○ See variety of case histories ● Build a foundation ○ Basic principles of EM ○ Set realistic expectations of EM ● Promote development of an EM community http://disc2017.geosci.xyz Brisbane, Australia

Slide 15

Slide 15 text

Not Goals ● Not a course in computation ○ No code!! ● Not assessing the learners ○ No pop quiz!! ● Not building infrastructure ○ No IT staff!! http://disc2017.geosci.xyz Perth, Australia

Slide 16

Slide 16 text

teach a course on computation vs computation to teach a course @jakevdp, @lorenaabarba, @Cmrn_DP, @ProjectJupyter, @jhamrick

Slide 17

Slide 17 text

http://van.physics.illinois.edu/ teaching concepts

Slide 18

Slide 18 text

ingredients computational tools course materials

Slide 19

Slide 19 text

currently learning & teaching

Slide 20

Slide 20 text

currently learning & teaching

Slide 21

Slide 21 text

currently extending & applying

Slide 22

Slide 22 text

currently extending & applying

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

● Bugs ● Reviewed by ~2 people ● No discussion / issue board? ● How did they make that figure? ● Is it Current? out of date? ● Limited input / feedback ● Reuse is limited ○ copy paste writing ○ licensing restrictions ● Roadmap? Is there one? ● Who do I ask? are there stewards of this work? ● Limited collaboration opportunities ○ 1 or 2 (the good ones have 2) ● Diff? What changed in this version? ○ version 1 is in the used book store and is $100 cheaper. What changed? - only question order? currently

Slide 25

Slide 25 text

this is a problem currently

Slide 26

Slide 26 text

● iterate in place ● versioned ● reproducible ● tested ● collaborative ● track issues ● continuous peer review ● feedback ● extensible ● ... capture share iterate in place

Slide 27

Slide 27 text

● iterate in place ● versioned ● reproducible ● tested ● collaborative ● track issues ● continuous peer review ● feedback ● extensible ● ... capture share open source

Slide 28

Slide 28 text

open source philosophy for developing educational resources

Slide 29

Slide 29 text

education stack after @jakevdp

Slide 30

Slide 30 text

education stack after @jakevdp

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

http://disc2017.geosci.xyz from the top Doug Oldenburg Doug Oldenburg Denver, CO Doug Oldenburg Denver, CO

Slide 33

Slide 33 text

from the top deploy course

Slide 34

Slide 34 text

Kyoto, Japan

Slide 35

Slide 35 text

digging deeper http://em.geosci.xyz

Slide 36

Slide 36 text

from the top deploy course

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

deploy course from the top

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

building in context start here

Slide 41

Slide 41 text

at the base http://simpeg.xyz

Slide 42

Slide 42 text

DC Resistivity Frequency Domain EM Natural Sources Time Domain EM https://notebooks.azure.com/library/em_apps x 26

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

on reproducibility start here

Slide 45

Slide 45 text

on reproducibility start here

Slide 46

Slide 46 text

on reproducibility start here

Slide 47

Slide 47 text

accessible computation

Slide 48

Slide 48 text

context ● outline ● links ● delivery ● collaborate ● peer-review

Slide 49

Slide 49 text

on reproducibility start here

Slide 50

Slide 50 text

on chaos (and deadlines) ● The course will happen ● Apps will be deployed 100 ppl (not okay) Used in real time during the course. Original developer not in the room. Batteries not included. * *

Slide 51

Slide 51 text

on chaos (and deadlines) Who are the contributors? Graduate students (not software developers) ● The course will happen ● Apps will be deployed Used in real time during the course. Original developer not in the room. Batteries not included. * * 100 ppl It works? ❏ It runs on my computer what’s a branch? ❏ The code is tested it actually runs!! ❏ Someone else understands how it works ❏ There are docs in the code ❏ The code is structured (inheritance) ❏ There are docs on a website ❏ The code is styled to standard

Slide 52

Slide 52 text

on organization Who are the contributors? Graduate students (not software developers) It works? ❏ It runs on my computer what’s a branch? ❏ The code is tested it actually runs!! ❏ Someone else understands how it works ❏ There are docs in the code ❏ The code is structured (inheritance) ❏ There are docs on a website ❏ The code is styled to standard usable shareable reliable community scope & expectations

Slide 53

Slide 53 text

on reproducibility start here

Slide 54

Slide 54 text

on reproducibility start here

Slide 55

Slide 55 text

on reproducibility start here on extensibility deploy course

Slide 56

Slide 56 text

on reproducibility start here on extensibility deploy course

Slide 57

Slide 57 text

on reproducibility start here on extensibility deploy course

Slide 58

Slide 58 text

on reproducibility start here on extensibility deploy course contribution

Slide 59

Slide 59 text

ecosystem ● Challenges ○ What is tied into the ecosystem? ○ Where are the on-ramps? ● Iterate in place ○ Be purposeful about tools & strategies to create positive feedbacks ● Goal is extensibility ○ Reproducibility is step one

Slide 60

Slide 60 text

this is left as an exercise to the reader

Slide 61

Slide 61 text

@lheagy, @rowanc1 Thank you! @lindsey_jh, @rowancockett