A Pythonic Future – For Science Education – Kathryn (Katy) Huff



A Pythonic Future – For Science Education – Kathryn (Katy) Huff

0 0


2015-11-15-pyhpc


On Github katyhuff / 2015-11-15-pyhpc

A Pythonic Future

For Science Education

Kathryn (Katy) Huff

PyHPC, Austin, TX

November 15, 2015

Who is Katy Huff?

Science Curriculum Needs To Be Refactored

Science

  • builds and organizes knowledge
  • tests explanations about the universe
  • systematically,
  • objectively,
  • transparently,
  • and reproducibly.

Otherwise it's not science.

Computers

should...

  • improve efficiency,
  • reduce human error,
  • automate the mundane,
  • simplify the complex,
  • and accelerate research.

But scientists don't use them effectively.

Education

must...

  • transfer knowledge,
  • communicate concepts,
  • convey how to think,
  • prepare learners for their futures.

But computers have changed everything.

Then and Now

Pop Quiz

pollev.com/katyhuff

The Hacker Within is Helping

Peer-led organization for scientific computing best practices.

Community

  • democratic anarchy
  • maximize permissions
  • charismatic leadership
  • occasional beer

Peer-Driven

  • peer teaching and learning
  • interdisciplinary normalizes mixed skill levels
  • relevant topics
  • appeals to the desire to show off
  • direct peer-to-peer skill sharing

Software Carpentry is Helping

Software Carpentry Foundation

  • NumFOCUS umbrella
  • Elected Steering Committee
  • Representative, Expert Advisory Council

We make researchers in science, engineering, and medicine more productive by teaching them basic lab skills for scientific computing.

Software Carpentry Workshops

  • Two days of hands-on learning
  • Scientists teaching scientists
  • Instructors are volunteers
  • Materials are all open access
  • bash --> automate tasks
  • python --> build modular code
  • git --> track and share work
  • SQL --> manage data
  • nose --> program defensively

But Why Do They Do It?

  • community
  • travel
  • teaching experience
  • teaching = learning
  • sensed need
  • etc.

HPCCarpentry?

The Only Sustainable Solution

Will Infuse Traditional Curriculum with Computing

Ideally, using python.

Why Python?

P. GUO, "Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities," (2014).

How?

  • open source for collaboration
  • example-driven for contextual computation
  • project-focused with incremental assignments
  • using proven pedagogy backed by science
  • and using modern tools like nbgrader

NBGrader: Jess Hamrick

Data Science 8

Cathryn Carson, David Culler, etc. databears.berkeley.edu

Lorena Barba

Lorena Barba

New Resources

(Anthony talked me into it.)

Getting Started

  • Chapter 1 - Introduction to the Command Line
  • Chapter 2 - Programming Blast Off with Python
  • Chapter 3 - Essential Containers
  • Chapter 4 - Flow Control and Logic
  • Chapter 5 - Operating with Functions
  • Chapter 6 - Classes and Objects

Getting It Done

  • Chapter 7 - Analysis and Visualization
  • Chapter 8 - Regular Expressions
  • Chapter 9 - NumPy: Thinking in Arrays
  • Chapter 10 - Storing Data: Files and HDF5
  • Chapter 11 - Important Data Structures in Physics
  • Chapter 12 - Performing in Parallel
  • Chapter 13 - Deploying Software

Getting It Right

  • Chapter 14 - Building Software Pipelines
  • Chapter 15 - Local Version Control
  • Chapter 16 - Remote Version Control
  • Chapter 17 - Debugging
  • Chapter 18 - Testing

Getting It Out There

  • Chapter 19 - Documentation
  • Chapter 20 - Publication
  • Chapter 21 - Collaboration
  • Chapter 22 - Licenses, Ownership, and Copyright
  • Chapter 23 - Further Musings

Effective Computation Course

  • Open source IPython Notebooks
  • Project-Driven Course Structure
  • Example-Driven In Class Work
  • BYO-Science Template
  • Alpha-testing, Tiffany Timbers, Simon Fraser
  • Beta release soon

github.com/physics-codes/seminar

Acknowledgements

This book was heavily inspired by the work of Software Carpentry and The Hacker Within. We are thrilled to see Effective Computation in Physics come to press and spread the joys of computation further into the physical sciences. In case you were wondering, the cuddly creature on the cover is a bobtail squid.

Acknowledgements

  • Anthony M. Scopatz
  • Paul P.H. Wilson
  • Gregory V. Wilson
  • Lorena Barba
  • Tiffany Timbers

Links!

THE END

Katy Huff

katyhuff.github.io/2015-11-15-pyhpc A Pythonic Future for Science Education by Kathryn Huff is licensed under a Creative Commons Attribution 4.0 International License.Based on a work at http://katyhuff.github.io/2015-11-15-pyhpc.