Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learning Python

Learning Python

MIT Outreach Guest Speaker Series

Carol Willing
PRO

March 27, 2021
Tweet

More Decks by Carol Willing

Other Decks in Education

Transcript


  1. Learning Python


    Tips from Cognitive Science,
    Jupyter, and Open Souce
    Community
    Carol Willing

    March 27, 2021
    Oak Valley


    Coding Club


    Guest Speaker Series with
    MIT Alumni Club of San
    Diego

    View Slide

  2. Hello
    Steering Council, Python

    Core Developer, Python

    Fellow, Python Software Foundation

    Frank Willison Award for technical and
    community contributions to Python

    Steering Council, Project Jupyter

    Core Developer, Project Jupyter

    Co-Editor, Journal of Open Source
    Education

    Co-Author, Teaching and Learning
    with Jupyter Notebooks

    2017 ACM Software System Award

    Lead Developer Advocate, Noteable.io
    Carol Willing
    GitHub: willingc

    View Slide

  3. HELLO, I’M CAROL
    ➤ I love playing and creating with code.


    ➤ Ooh...cool. How did you make this?


    ➤ What happens if...


    ➤ I wonder if I can break it.


    ➤ People before code - always


    ➤ Learn, Build, Share - Openly

    View Slide

  4. Why learn Python?

    View Slide

  5. Learning and Cognitive Science
    Thinking
    Ideas

    View Slide

  6. What is

    Cognitive
    Science?
    Anthropology


    Linguistics
    Education
    AI
    Psychology
    Philosophy
    Neuroscience

    View Slide

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

    View Slide

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

    View Slide

  9. Language

    View Slide

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

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

  12. Creating CPython: Guido & core team
    Credit: LWN.net
    PyCon 2017 Language Summit

    View Slide

  13. Scratch to
    Python 3

    Joshua Lowe
    EduBlocks

    View Slide

  14. Mu
    Python 3 code

    editor for
    learning
    https://codewith.mu

    View Slide

  15. Visualize

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

    View Slide

  16. @WillingCarol
    Learn
    Python is designed for your success.
    https://devguide.python.org/
    https://docs.python.org/
    https://python.org/

    View Slide

  17. Tools and Libraries

    View Slide

  18. Jupyter
    Notebook
    A Jupyter Notebook document with a visualization of measles data.

    View Slide

  19. @WillingCarol
    19

    JupyterLab: Integrated Experience

    View Slide

  20. @WillingCarol
    20
    Learning and computational ideas
    Usability


    Reproducibility


    Collaboration
    Prediction


    Recommendation


    Classification

    View Slide

  21. @WillingCarol
    21

    Jupyter
    Notebook
    • Interactive, browser-based computing environment
    • Exploratory data science, ML, visualization, analysis, stats
    • Reproducible document format:
    • Code
    • Narrative text (markdown)
    • Equations (LaTeX)
    • Images, visualizations
    • Over 50 programming languages
    • Everything open-source (BSD license)
    Interactive, Exploratory, Reproducible

    View Slide

  22. Five years ago
    283,399


    notebooks on GitHub

    View Slide

  23. Today
    9,857,138


    notebooks on GitHub

    View Slide

  24. How did we get to almost


    10 million notebooks


    in 5 years?

    View Slide

  25. It started with


    communication,


    problem solving,


    passion, and


    simplicity

    View Slide

  26. View Slide

  27. 27

    View Slide

  28. @WillingCarol
    28

    Enabling
    Reproducible
    Science
    https://losc.ligo.org/about/

    View Slide

  29. @WillingCarol
    29

    Live
    Code
    on
    Binder
    https://beta.mybinder.org/v2/gh/minrk/ligo-binder/master?filepath=index.ipynb
    https://losc.ligo.org/tutorials/
    LIGO Binder
    mybinder.org

    View Slide

  30. • Feedback and communication
    with students using nbgrader


    http://kristenthyng.com/blog/2016/09/07/
    jupyterhub+nbgrader
    /

    • Progression to complex examples
    and task
    s

    https://github.com/kthyng/
    python4geosciences
    Geosciences and Climate Change
    Python for Geosciences
    Dr. Kristen Thyng

    View Slide

  31. Digital Humanities and Arts

    View Slide

  32. @WillingCarol
    32

    Enabling
    Open Data
    Journalism

    View Slide

  33. JupyterHub

    View Slide

  34. • 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
    Motivate learners in science and engineering
    Teaching Signal Processing using
    Wearables and Jupyter Notebooks
    Dr. Demba Ba

    View Slide

  35. Used in universities around the world
    Berkeley Data Scienc
    e

    Data8
    UC Berkeley
    http://denero.org/data-8-in-spring-2017.html

    https://github.com/data-8/jupyterhub-k8s

    http://data8.org/

    http://data.berkeley.edu/

    http://data.berkeley.edu/about/videos
    • Campus wide curriculu
    m

    • Cross-disciplin
    e

    • Zero to JupyterHub with
    Kubernetes


    https://zero-to-jupyterhub.readthedocs.io

    View Slide

  36. Community

    View Slide

  37. Invite new learners


    Use a proven curriculum


    Engage students


    Reduce stress with
    notebooks
    Meetups and Workshops
    Intro to Python - San Diego Python
    http://pyvideo.org/pycon-us-2013/a-hands-on-introduction-to-python-for-beginning-p.html
    https://github.com/pythonsd/intro-to-python

    View Slide

  38. DjangoGirls and PyLadies

    View Slide

  39. Community

    View Slide

  40. View Slide

  41. Tinkering
    and
    making

    View Slide

  42. Building
    helpful
    community

    View Slide

  43. ...a programming
    language created by a
    community fosters
    happiness in its users
    around the world.
    – Guido van Rossum

    View Slide

  44. @WillingCarol
    Learn
    Share
    Build

    View Slide

  45. @WillingCarol
    Choose a language
    designed for learning

    View Slide

  46. @WillingCarol
    Use


    learner-friendly


    tools

    View Slide

  47. @WillingCarol
    Encourage others
    and share

    View Slide

  48. @WillingCarol
    Immerse yourself

    View Slide

  49. Came for the language.


    Stayed for the community.
    Brett Cannon and


    Pythonistas


    around the world
    Credit: Kushal Das

    View Slide

  50. @WillingCarol 50
    Thank you

    View Slide

  51. Python

    Software

    Foundation

    View Slide

  52. •San Diego Python

    •Demba Ba

    •Project Jupyter team and community

    •Photo credits and links on individual slides
    Attributions and recognition
    https://speakerdeck.com/willingc/learning-python-mit-outreach

    View Slide