Learning Python: Tips from Cognitive Science, Jupyter, and Community

C8eedb2bca5728f0f73294b5b5a0222e?s=47 Carol Willing
February 17, 2018

Learning Python: Tips from Cognitive Science, Jupyter, and Community

Keynote at PyCaribbean 2018. February 17, 2018. Learning has been extensively studied by Cognitive Science. Discussion about how elements of Cognitive Science, Project Jupyter, and Community influence a person's learning of the Python language.

C8eedb2bca5728f0f73294b5b5a0222e?s=128

Carol Willing

February 17, 2018
Tweet

Transcript

  1. 
 Learning Python Tips from Cognitive Science, Jupyter, and Community

    Carol Willing PyCaribbean 2018
  2. @WillingCarol Welcome and Thank You

  3. Why learn Python?

  4. Where should I start? Time Confused 129,932 Projects https://pypi.org/

  5. Will I be able to learn ____________? Doubt Fear Alone

    http://pgbovine.net/publications/conversational-programmers-learning-failures_CHI-2018.pdf
  6. @WillingCarol Obstacles Peaceful and confident (most days)

  7. @WillingCarol 1998

  8. Learning Tagalog

  9. Learning Python 1 $ conda create -n py1env python=1.0 $

    source activate py1env $ python
  10. @WillingCarol 2018

  11. Learning Python 3

  12. Learning and Cognitive Science Thinking Ideas

  13. What is Cognitive Science? Anthropology Linguistics Education AI Psychology Philosophy

    Neuroscience
  14. Why Cognitive Science? Inclusive

  15. Learning results from what a student does and thinks and

    only what the student does and thinks. Herbert A. Simon
  16. The teacher can advance learning only by influencing what the

    student does to learn. Herbert A. Simon Credit: http://bostonpythonworkshop.com/
  17. 
 Learning conceptually driven experiences lifetime "top-down"

  18. 
 Learning "bottom-up" data driven five senses now

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

  20. Language

  21. 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
  22. 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
  23. Python 3 https://github.com/jakevdp/WhirlwindTourOfPython https://www.youtube.com/watch?v=M4w4wKveVo4 f-strings

  24. Scratch to Python 3 Joshua Lowe EduBlocks

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

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

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

  28. Tools and Libraries

  29. Notebooks engage learners

  30. JupyterLab Try it on Binder. next-generation web-based user interface for

    Project Jupyter Special thanks to Jessica Forde.
  31. @WillingCarol HUB A JUPYTER NOTEBOOK FOR EVERYONE

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

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

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

  36. @WillingCarol Learn Build Rich ecosystem 5 lines of code or

    less Interactive creation
  37. Community

  38. 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
  39. DjangoGirls and PyLadies

  40. Teaching Teachers Picademy

  41. Building helpful community

  42. Python Software Foundation

  43. ...a programming language created by a community fosters happiness in

    its users around the world. – Guido van Rossum
  44. @WillingCarol Learn Share Build

  45. @WillingCarol YOU

  46. @WillingCarol Immerse yourself

  47. @WillingCarol Choose a language designed for learning

  48. @WillingCarol Use learner-friendly tools

  49. @WillingCarol Encourage others and share

  50. @WillingCarol Enjoy the journey

  51. @WillingCarol YOU + Python = Success

  52. @WillingCarol Call to Action Set measurable goals Believe it is

    possible Work together What will you do?
  53. Came for the language. Stayed for the community. Brett Cannon

    and Pythonistas around the world Credit: Kushal Das
  54. @WillingCarol 54 Thank you to the many, many Pythonistas who

    encourage, gently nudge, and care for others. You make a difference in the world.
  55. 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
  56. •San Diego Python •Demba Ba •Project Jupyter team and community

    •Photo credits and links on individual slides Attributions and recognition