TEACHING BASIC LAB SKILLS FOR RESEARCH
COMPUTING
by Loïc Estève (Inria)
group /
and community /
Strongly inspired from 's talk at Scikit-learn day in June 2016
So ware Carpentry Paris @paris-swc
So ware Carpentry @swcarpentry
Bartosz Telenczuk
So ware Carpentry's mission is to help scientists and
engineers get more research done in less time and with less
pain by teaching them basic lab skills for scientific
computing.
MISSION
TARGET AUDIENCE
Scientists without prior knowledge
My 2c: mostly beneficial to scientists who have at least a
hint they have problems that programming could solve
better
My 2.5c: even better if you have previous exposure to a
programming language
Truer than life examples at https://so ware-carpentry.org/audience
TYPICAL SWC WORKSHOP
shell: 1/2 day
git + github: 1/2 day
Python: 1 day
June 2016
November 2017
workshops worldwide
students trained
863
22353
(as of November 7th, 2017)
>
OUR TEACHING METHOD
BASIC PRINCIPLES
Live coding
Lessons materials on github with a Creative Commons
licence
Frequent quizzes and hands-on exercises to keep
audience interested/awake
Feed-back: red/green sticky notes, Etherpad during and
a er each session, pre- and post-workshop survey
SOFTWARE CARPENTRY AS AN OPEN
SOURCE COMMUNITY
COMMON CHARACTERISTICS OF AN OPEN
SOURCE COMMUNITY
inclusive and transparent,
distributed contributors,
working together on an open source "product",
communicating through internet channels.
June 2016
November 2017
968certified So ware Carpentry instructors
based in 39countries
(as of November 7th, 2017)
(http://software-carpentry.org/)
Programming with Python
The best way to learn how to program is to do something useful, so this introduction to Python is built around a common
scientific task: data analysis.
Our real goal isn’t to teach you Python, but to teach you the basic concepts that all programming depends on. We use Python
in our lessons because:
1. we have to use something for examples;
2. it’s free, well-documented, and runs almost everywhere;
3. it has a large (and growing) user base among scientists; and
4. experience shows that it’s easier for novices to pick up than most other languages.
But the two most important things are to use whatever language your colleagues are using, so that you can share your work
with them easily, and to use that language well.
We are studying inflammation in patients who have been given a new treatment for arthritis, and need to analyze the first
dozen data sets of their daily inflammation. The data sets are stored in comma-separated values
(file:///home/bartosz/repos/docs/talks/2016-06-15-scikit-learn-day-paris/pages/python-novice-
inflammation/reference.html#comma-separated-values) (CSV) format: each row holds information for a single patient, and the
columns represent successive days. The first few rows of our first file look like this:
0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0
0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1
0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1
0,0,2,0,4,2,2,1,6,7,10,7,9,13,8,8,15,10,10,7,17,4,4,7,6,15,6,4,9,11,3,5,6,3,3,4,2,3,2,1
0,1,1,3,3,1,3,5,2,4,4,7,6,5,3,10,8,10,6,17,9,14,9,7,13,9,12,6,7,7,9,6,3,2,2,4,2,0,1,1
We want to:
load that data into memory,
calculate the average inflammation per day across all patients, and
157contributors, 350forks,
~1600commits, 230PRs merged,
4000lines of content, 10core lessons
OUR LOCAL COMMUNITY
Jan Antolik,
Andrew Davison
Loïc Estève,
Eric Bray,
Konrad Hinsen,
Alexandre Gramfort,
Samuel Lelièvre,
Camille Marini,
Marcel Stimberg,
Bartosz Teleńczuk,
Maria Teleńczuk,
Nelle Varoquaux
OUR SOFTWARE CARPENTRY WORKSHOPS
SWC workshops in Paris area + advanced workshop,
workshops in 2016, students trained,
certified instructors, instructors trained in 2016,
6 1
4 153
10 7
PROTO204 TRAINING 24-25 MAY 2016: 50
SEATS SOLD OUT IN A DAY
Field of work
PhD student
Other
Reaserch
Staff
Faculty
PostDoc
Stage of career
Female
Male
Gender
SWC IN PARIS: LAST 2-YEAR SUMMARY
2016: Instructor training + 4 SWC workshops
2017: 0 SWC workshops
WHAT HAPPENED?
Life happened and priorities took over
Super happy to come and teach at a workshop if we don't
have to bear most of the administrative work
Help needed: room, funding for coffee breaks, food (if
possible), workshop organisation.
WHAT IS NEXT?
HELP NEEDED!
host a workshop (help needed on the admin side),
web skills + love needed for the paris-swc
become a helper/instructor,
contribute to lessons,
become So ware Carpentry partner
website
CONTACT US
Homepage:
GitHub: , ,
email: loic.esteve@inria.fr
paris-swc.github.io
@swcarpentry @paris-swc @lesteve

2017 software carpentry open campus

  • 1.
    TEACHING BASIC LABSKILLS FOR RESEARCH COMPUTING by Loïc Estève (Inria) group / and community / Strongly inspired from 's talk at Scikit-learn day in June 2016 So ware Carpentry Paris @paris-swc So ware Carpentry @swcarpentry Bartosz Telenczuk
  • 2.
    So ware Carpentry'smission is to help scientists and engineers get more research done in less time and with less pain by teaching them basic lab skills for scientific computing. MISSION
  • 3.
    TARGET AUDIENCE Scientists withoutprior knowledge My 2c: mostly beneficial to scientists who have at least a hint they have problems that programming could solve better My 2.5c: even better if you have previous exposure to a programming language Truer than life examples at https://so ware-carpentry.org/audience
  • 4.
    TYPICAL SWC WORKSHOP shell:1/2 day git + github: 1/2 day Python: 1 day
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    BASIC PRINCIPLES Live coding Lessonsmaterials on github with a Creative Commons licence Frequent quizzes and hands-on exercises to keep audience interested/awake Feed-back: red/green sticky notes, Etherpad during and a er each session, pre- and post-workshop survey
  • 10.
    SOFTWARE CARPENTRY ASAN OPEN SOURCE COMMUNITY
  • 11.
    COMMON CHARACTERISTICS OFAN OPEN SOURCE COMMUNITY inclusive and transparent, distributed contributors, working together on an open source "product", communicating through internet channels.
  • 12.
  • 13.
  • 14.
    968certified So wareCarpentry instructors based in 39countries (as of November 7th, 2017)
  • 15.
    (http://software-carpentry.org/) Programming with Python Thebest way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis. Our real goal isn’t to teach you Python, but to teach you the basic concepts that all programming depends on. We use Python in our lessons because: 1. we have to use something for examples; 2. it’s free, well-documented, and runs almost everywhere; 3. it has a large (and growing) user base among scientists; and 4. experience shows that it’s easier for novices to pick up than most other languages. But the two most important things are to use whatever language your colleagues are using, so that you can share your work with them easily, and to use that language well. We are studying inflammation in patients who have been given a new treatment for arthritis, and need to analyze the first dozen data sets of their daily inflammation. The data sets are stored in comma-separated values (file:///home/bartosz/repos/docs/talks/2016-06-15-scikit-learn-day-paris/pages/python-novice- inflammation/reference.html#comma-separated-values) (CSV) format: each row holds information for a single patient, and the columns represent successive days. The first few rows of our first file look like this: 0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0 0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1 0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1 0,0,2,0,4,2,2,1,6,7,10,7,9,13,8,8,15,10,10,7,17,4,4,7,6,15,6,4,9,11,3,5,6,3,3,4,2,3,2,1 0,1,1,3,3,1,3,5,2,4,4,7,6,5,3,10,8,10,6,17,9,14,9,7,13,9,12,6,7,7,9,6,3,2,2,4,2,0,1,1 We want to: load that data into memory, calculate the average inflammation per day across all patients, and 157contributors, 350forks, ~1600commits, 230PRs merged, 4000lines of content, 10core lessons
  • 16.
  • 17.
    Jan Antolik, Andrew Davison LoïcEstève, Eric Bray, Konrad Hinsen, Alexandre Gramfort, Samuel Lelièvre, Camille Marini, Marcel Stimberg, Bartosz Teleńczuk, Maria Teleńczuk, Nelle Varoquaux
  • 18.
  • 19.
    SWC workshops inParis area + advanced workshop, workshops in 2016, students trained, certified instructors, instructors trained in 2016, 6 1 4 153 10 7
  • 20.
    PROTO204 TRAINING 24-25MAY 2016: 50 SEATS SOLD OUT IN A DAY
  • 21.
    Field of work PhDstudent Other Reaserch Staff Faculty PostDoc Stage of career Female Male Gender
  • 22.
    SWC IN PARIS:LAST 2-YEAR SUMMARY 2016: Instructor training + 4 SWC workshops 2017: 0 SWC workshops WHAT HAPPENED? Life happened and priorities took over Super happy to come and teach at a workshop if we don't have to bear most of the administrative work Help needed: room, funding for coffee breaks, food (if possible), workshop organisation.
  • 23.
  • 24.
    HELP NEEDED! host aworkshop (help needed on the admin side), web skills + love needed for the paris-swc become a helper/instructor, contribute to lessons, become So ware Carpentry partner website
  • 26.
    CONTACT US Homepage: GitHub: ,, email: loic.esteve@inria.fr paris-swc.github.io @swcarpentry @paris-swc @lesteve