Slide 1

Slide 1 text


 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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Why learn Python?

Slide 5

Slide 5 text

Learning and Cognitive Science Thinking Ideas

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Language

Slide 10

Slide 10 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 11

Slide 11 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 12

Slide 12 text

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

Slide 13

Slide 13 text

Scratch to Python 3 Joshua Lowe EduBlocks

Slide 14

Slide 14 text

Mu Python 3 code editor for learning https://codewith.mu

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Tools and Libraries

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

@WillingCarol 19 
 JupyterLab: Integrated Experience

Slide 20

Slide 20 text

@WillingCarol 20 Learning and computational ideas Usability Reproducibility Collaboration Prediction Recommendation Classification

Slide 21

Slide 21 text

@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

Slide 22

Slide 22 text

Five years ago 283,399 notebooks on GitHub

Slide 23

Slide 23 text

Today 9,857,138 notebooks on GitHub

Slide 24

Slide 24 text

How did we get to almost 10 million notebooks in 5 years?

Slide 25

Slide 25 text

It started with communication, problem solving, passion, and simplicity

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

@WillingCarol 28 
 Enabling Reproducible Science https://losc.ligo.org/about/

Slide 29

Slide 29 text

@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

Slide 30

Slide 30 text

• 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

Slide 31

Slide 31 text

Digital Humanities and Arts

Slide 32

Slide 32 text

@WillingCarol 32 
 Enabling Open Data Journalism

Slide 33

Slide 33 text

JupyterHub

Slide 34

Slide 34 text

• 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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Community

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

DjangoGirls and PyLadies

Slide 39

Slide 39 text

Community

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Tinkering and making

Slide 42

Slide 42 text

Building helpful community

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

@WillingCarol Learn Share Build

Slide 45

Slide 45 text

@WillingCarol Choose a language designed for learning

Slide 46

Slide 46 text

@WillingCarol Use learner-friendly tools

Slide 47

Slide 47 text

@WillingCarol Encourage others and share

Slide 48

Slide 48 text

@WillingCarol Immerse yourself

Slide 49

Slide 49 text

Came for the language. Stayed for the community. Brett Cannon and Pythonistas around the world Credit: Kushal Das

Slide 50

Slide 50 text

@WillingCarol 50 Thank you

Slide 51

Slide 51 text

Python Software Foundation

Slide 52

Slide 52 text

•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