Slide 1

Slide 1 text


 STEAM Workshops with Binder and JupyterHub Carol Willing @WillingCarol PyCon 2018

Slide 2

Slide 2 text

Joy Wonder Fun

Slide 3

Slide 3 text

https://speakerdeck.com/willingc

Slide 4

Slide 4 text

https://okgosandbox.org https://playfullearninglab.org

Slide 5

Slide 5 text

https://okgosandbox.org https://playfullearninglab.org

Slide 6

Slide 6 text

Headline Slide Sub-headline https://github.com/pysplash/workshop-music

Slide 7

Slide 7 text

What is Cognitive Science? Anthropology Linguistics Education AI Psychology Philosophy Neuroscience

Slide 8

Slide 8 text

Learning results from what a student does and thinks and only what the student does and thinks. Herbert A. Simon

Slide 9

Slide 9 text

The teacher can advance learning only by influencing what the student does to learn. Herbert A. Simon Credit: http://bostonpythonworkshop.com/

Slide 10

Slide 10 text

A workshop about Learning Python Imagine

Slide 11

Slide 11 text

Why learn Python? Attribution: Raspberry Pi Foundation

Slide 12

Slide 12 text

Where should I start? 129,932 projects https://pypi.org/

Slide 13

Slide 13 text

Will I be able to learn ____________? Doubt Fear Alone http://pgbovine.net/publications/conversational-programmers-learning-failures_CHI-2018.pdf

Slide 14

Slide 14 text

How will I learn...? X Peaceful and confident (most days)

Slide 15

Slide 15 text

Language

Slide 16

Slide 16 text

Python - The Beginning the most important lesson I learned was about sharing – Guido van Rossum http://neopythonic.blogspot.com/2016/04/kings-day-speech.html

Slide 17

Slide 17 text

Designed for Learning In reality, programming languages are how programmers express and communicate ideas — and the audience for those ideas is other programmers, not computers. http://neopythonic.blogspot.com/2016/04/kings-day-speech.html – Guido van Rossum

Slide 18

Slide 18 text

Python 3 https://github.com/jakevdp/WhirlwindTourOfPython https://www.youtube.com/watch?v=M4w4wKveVo4 f-strings

Slide 19

Slide 19 text

Scratch to Python 3 Joshua Lowe EduBlocks

Slide 20

Slide 20 text

Mu https://docs.python.org/3.7/library/turtle.html Python 3 code editor for learning https://www.youtube.com/watch?v=HrblTJnAnPw https://codewith.mu

Slide 21

Slide 21 text

Visualize Get live help pythontutor.com Philip Guo (UCSD Cognitive Science)

Slide 22

Slide 22 text

@WillingCarol Learn Python is designed for your success.

Slide 23

Slide 23 text

Am I qualified? Maybe

Slide 24

Slide 24 text

@WillingCarol "bottom-up" "top-down" Effective Learning

Slide 25

Slide 25 text


 Learning conceptually driven experiences lifetime "top-down"

Slide 26

Slide 26 text


 Learning "bottom-up" data driven five senses now

Slide 27

Slide 27 text

Jupyter

Slide 28

Slide 28 text

Notebooks engage learners http://web.mit.edu/music21/

Slide 29

Slide 29 text

JupyterLab Try it on Binder. next-generation web-based user interface for Project Jupyter Special thanks to Jessica Forde.

Slide 30

Slide 30 text

@WillingCarol HUB A JUPYTER NOTEBOOK FOR EVERYONE

Slide 31

Slide 31 text

@WillingCarol JupyterHub: Deploy with Kubernetes https://zero-to-jupyterhub.readthedocs.io/en/latest/

Slide 32

Slide 32 text

JupyterHub for Teaching https://cdnapisec.kaltura.com/index.php/extwidget/openGraph/wid/1_k6uwj8g1 https://atg.fas.harvard.edu/news/seas-computing-and-academic-technology-fas-launch-jupyterhub-canvas-integration • Exploration and experimentation http://pyvideo.org/scipy-2016/labs-in-the-wild-teaching- signal-processing-using-wearables-jupyter-notebooks- scipy-2016.html • Physical media with wearables and electronics • Real world, self-directed projects Teaching Signal Processing using Wearables and Jupyter Notebooks Dr. Demba Ba

Slide 33

Slide 33 text

Binder https://blog.jupyter.org/binder-2-0-a-tech-guide-2017-fd40515a3a84 https://elifesciences.org/labs/8653a61d/introducing-binder-2-0-share-your- interactive-research-environment https://www.nature.com/articles/d41586-018-01322-9 mybinder.org

Slide 34

Slide 34 text

Build your own BinderHub https://binderhub.readthedocs.io/en/latest/

Slide 35

Slide 35 text

Vision, Tools, Community

Slide 36

Slide 36 text

Life cycle of a workshop Content Tools Delivery Feedback Iterate

Slide 37

Slide 37 text

Anatomy of a teaching notebook http://adamrule.com/files/papers/chi_2018_computational_notebooks_final_web.pdf https://blog.jupyter.org/we-analyzed-1-million-jupyter-notebooks-now-you-can-too- guest-post-8116a964b536 Structure and design • Adam Rule et al. • analyzed 1 million notebooks • design opportunities

Slide 38

Slide 38 text

QuantEcon • multiple languages • lectures, notebooks, and more Comprehensive Course https://lectures.quantecon.org https://medium.com/quantecon-blog/code-testing-our-lectures-16bebac5ac1d https://quantecon.org/news-item/quantecon-py-v0-3-8-released

Slide 39

Slide 39 text

Introduction to Mechanical Vibration (Jason Moore & Kenneth Lyons) Remix high quality content http://www.moorepants.info/blog/introducing-resonance.html

Slide 40

Slide 40 text

Introduction to Mechanical Vibration (Jason Moore & Kenneth Lyons) Interactive Open Access http://www.moorepants.info/blog/introducing-resonance.html

Slide 41

Slide 41 text

https://mybinder.org/v2/gh/willingc/pydy-tutorial-human-standing/master https://github.com/pydy/pydy-tutorial-human-standing

Slide 42

Slide 42 text

Serendipity Explore interests • Gallery of interesting notebooks • http://ipython-books.github.io • GitHub trending notebooks search • pyvideo.org tutorial and talk videos • https://www.safaribooksonline.com/oriole/regex-golf-with-peter-norvig

Slide 43

Slide 43 text

• citizen science • standards based • grade specific • https://www.calacademy.org/educators/lesson-plans • https://www.calacademy.org/educators/lesson-plans/analyze- running-numbers California Academy of Science Remix open source content

Slide 44

Slide 44 text

Music • Music theory - music21 -Myke Cuthbert • Digital signal processing - Allen Downey • Cyrille Rossant - Synthesizer Example • Magenta - Google • RISE - Damian Avila Jupyter, open source, workshops https://github.com/pysplash/workshop-music

Slide 45

Slide 45 text

Humans = community

Slide 46

Slide 46 text

Workshops and clubs https://www.youtube.com/watch?v=CYS_kng_OQw https://thinmint.sdgirlscouts.org/newsletters/Connections/2015/201501.html She doesn't tell you how you are supposed to get there. She asks you the right questions and leads you to the solution. - Meera Kota On mentors:

Slide 47

Slide 47 text

DjangoGirls and PyLadies Outreach

Slide 48

Slide 48 text

Teaching Teachers Picademy

Slide 49

Slide 49 text

Building helpful community What is CircuitPython? - Adafruit Learning Center

Slide 50

Slide 50 text

@WillingCarol Immerse yourself

Slide 51

Slide 51 text

• San Diego Python • Demba Ba • OKGO and Anne-Marie Thomas • Jason Moore • QuanEcon • Project Jupyter team and community • Photo credits and links on individual slides Attributions and recognition

Slide 52

Slide 52 text

Questions Steering Council, Project Jupyter Core Developer, Project Jupyter Software Engineer, Cal Poly SLO Fellow, Python Software Foundation Core Developer, CPython Geek in Residence, Fab Lab San Diego Carol Willing @willingcarol