Software Carpentry:

Lessons Learned

 

Greg Wilson

gvwilson@third-bit.com

 

October 2018

CC-BY logo


Years ago, I lost my temper while arguing with my brother, and said, "Jeff, I could teach you everything I know and you'd still be an idiot."


Please keep that in mind as you listen to what follows...

Every journey begins with a single itch

1991: I wish scientists wrote better software

1998: I wish someone would teach scientists how to program

2011: I wish someone would teach them how to teach well

2017: I wish people knew how to organize because I think we're in trouble here…

Carpentries logo

"We teach foundational coding and data science skills to researchers worldwide."

1998

1998

2004

2004

2007

2007

2010

2010

2014

2014

2017

2017

Growth

YearWorkshopsLearners
2012 381378
2013 933212
20141394742
20152747755
20163457133
20173387248
20184366329

Where We've Been

Map showing where workshops have been run

Along the Way

Lesson #1

Most scientists think of programming

as a tax they have to pay to do science


And those who don't are not representative

of the other 85%


Scott Hanselman: Dark Matter Developers

Lesson #2

The curriculum is full


And even if it wasn't:

Cartoon of the blind leading the blind

Lesson #3

The future (of teaching) is already here,

it's just not evenly distributed

Book: How Learning Works Book: Teach Like a Champion Book: Teaching What You Don't Know Book: Building a Better Teacher

Examples

Labelled subgoals improve performance

Peer instruction beats lecture

Media-first instruction increases retention

Grades in computing classes are not bimodal

Lesson #4

Most people would rather fail than change

I.e., they would rather ignore evidence
than change their working practices or business plan

Magazine cover claiming global warming is a myth

Sound familiar?

Lesson #5

Programmers can rationalize anything

Screenshot of a complicated Git merge

Git is as horrible as it is useful

Stop blaming users for its shortcomings

Lesson #5

Programmers can rationalize anything

Screenshot of a spreadsheet

This is a good tool

Please stop sneering at scientists for using it

Lesson #6

Correctness isn't compelling

Because the odds of being caught are vanishingly small

But people care a lot about productivity

Lesson #6

Bait…

Unix shell

Git / GitHub

Python or R

SQL

Make

…And Switch

automating tasks

tracking and sharing

modularization

structured data

reproducibility

Lesson #7

You're not alone.

Single-author curriculum = unmet needs

Single source of funding = single point of failure

Recruit the willing

Train them

Reward them

Cede power to them

Lesson #7

AP Student Numbers
Subject20122017
Calculus361,000316,000
Statistics153,000215,000
Computer Science26,10044,000

Lesson #7

I think we're finally ready

What Really Matters

There's no point being able to crunch data
if there are questions
you're not allowed to ask…

…in being able to reproduce results
if nobody's listening…

…or in science being open
if some people aren't welcome

    

Thank you

gvwilson@third-bit.com

http://third-bit.com/talks/lessons-learned/



http://third-bit.com/talks/lessons-learned/