$30 off During Our Annual Pro Sale. View Details »

STEAM Workshops with JupyterHub and Binder

STEAM Workshops with JupyterHub and Binder

PyCon 2018 Education Summit

Inspiration for using Python, Jupyter notebooks, JupyterHub and Binder for STEAM workshops for middle school and high school students.

Carol Willing
PRO

May 10, 2018
Tweet

More Decks by Carol Willing

Other Decks in Education

Transcript


  1. STEAM Workshops with
    Binder and JupyterHub
    Carol Willing

    @WillingCarol
    PyCon 2018

    View Slide

  2. Joy
    Wonder
    Fun

    View Slide

  3. https://speakerdeck.com/willingc

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. What is

    Cognitive
    Science?
    Anthropology
    Linguistics
    Education
    AI
    Psychology
    Philosophy
    Neuroscience

    View Slide

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

    View Slide

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

    View Slide

  10. A workshop about
    Learning Python
    Imagine

    View Slide

  11. Why learn Python?
    Attribution: Raspberry Pi Foundation

    View Slide

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

    View Slide

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

    View Slide

  14. How will I learn...?
    X
    Peaceful and confident

    (most days)

    View Slide

  15. Language

    View Slide

  16. 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

    View Slide

  17. 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

    View Slide

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

    View Slide

  19. Scratch to
    Python 3

    Joshua Lowe
    EduBlocks

    View Slide

  20. 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

    View Slide

  21. Visualize

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

    View Slide

  22. @WillingCarol
    Learn
    Python is designed for your success.

    View Slide

  23. Am I qualified?
    Maybe

    View Slide

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

    View Slide


  25. Learning
    conceptually driven

    experiences

    lifetime
    "top-down"

    View Slide


  26. Learning
    "bottom-up"
    data driven

    five senses

    now

    View Slide

  27. Jupyter

    View Slide

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

    View Slide

  29. JupyterLab
    Try it on Binder.
    next-generation

    web-based

    user interface

    for

    Project Jupyter
    Special thanks to Jessica Forde.

    View Slide

  30. @WillingCarol
    HUB
    A JUPYTER NOTEBOOK FOR
    EVERYONE

    View Slide

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

    View Slide

  32. 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

    View Slide

  33. 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

    View Slide

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

    View Slide

  35. Vision, Tools, Community

    View Slide

  36. Life cycle of a workshop
    Content
    Tools
    Delivery
    Feedback
    Iterate

    View Slide

  37. 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

    View Slide

  38. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  42. 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

    View Slide

  43. • 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

    View Slide

  44. 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

    View Slide

  45. Humans =
    community

    View Slide

  46. 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:

    View Slide

  47. DjangoGirls and PyLadies Outreach

    View Slide

  48. Teaching

    Teachers
    Picademy

    View Slide

  49. Building
    helpful
    community
    What is CircuitPython?
    - Adafruit Learning Center

    View Slide

  50. @WillingCarol
    Immerse yourself

    View Slide

  51. • 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

    View Slide

  52. 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

    View Slide