PyCon 2014

Lecciones aprendidas con el proyecto "Software Carpentry"

Greg Wilson  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

we have two talks in this afternoon's session the first one will be a 45-minute spots so that will translate to roughly 37 minutes and 33 seconds for talk and the remainder for questions so I'd like to introduce Greg Wilson Greg Wilson is the creator

of software carpentry a crash course in computing skills for scientists and engineers he has worked for 25 years in high-performance computing data visualization computer security and academia and is the author or editor of several books on computing including

the 2008 drill award winner beautiful code and two books for children Greg received a PhD in computer science from the University of Edinburgh in 1993 and presently runs the software carpentry project for the Mozilla Foundation so let's welcome Greg for

his talk about software carpentry and the lessons learned okay thank you so there are the boring details what you really want to do is hop on that etherpad that's what the etherpad looks like please come join take notes ask questions collaborate so here's

what we're going to do we're going to recap a series of conversations I've had and I'm going to do both voices because I have a little kid I've had a lot of practice doing funny voices and also singing the chorus of the song from frozen

over and over and over and over so 1997 hi I'm a programmer I'm starting a web company what do you do oh I'm a designer I know how to select and range text and images in ways that are appealing informative and usable huh that seems pretty simple

to me I mean I know how to use a font selection Daigo I don't think I need to hire you a few years later bumped into the designer so how'd you start up go yeah tanked people said that my site was ugly and confusing I guess I've learned my lesson

2014 hi I'm starting an online education company what do you do well I'm a teacher I know how to select and arrange learning materials and ways that are appealing informative infective huh that seems pretty simple to me I don't eat I err you welcome

to my life here we go I run a project called software carpentry we are lab skills for scientific computing this project started because I was working with physicists and astronomers using first-generation in parallel computers and they would come into my office

with their 50,000 lines of Fortran and ask me to make it a zillion times faster and they had never heard of version control and weren't really sure why they should be writing functions because nobody had ever taught them and it is unfair to look down on

people who aren't doing things right if you've never shown them how I did anyway it's difficult to look down on physicists but I managed but I realised by the mid-1990s that I was doing more harm than good if you give a supercomputer to the average

scientist it is rather like giving a Ferrari to the average 16 year old and the crash rates are similar so starting in the late 90s we began running classes to teach them all that stuff that is boring but works version control shell scripting how to modular

eyes a program how to manage data right we don't have enough data yet to publish but the feedback we get is that a 2-day workshop will save most scientists a day a week for the rest of their careers note to any faculty members in the audience this does

not mean they will finish the degree earlier they will still go to end the funding plus 10% but they'll get more done and they'll publish more and they can tackle problems they could not tackle before we teach the UNIX shell get and github Python or

our ends SQL but what we're really teaching is task automation how to track and share your work how to modularize your code how to turn it into functions that are readable testable and reusable and that those are in fact all the same thing we teach them

SQL but what we really teach them is what structured data is what's a key what's a null why do I care so it's bait-and-switch we advertise the things on the left because they've heard of those and will show up we teach them the things on the

right last year 103 instructors 97 to day events in 12 different countries about 3500 people went through we're going to increase all of those numbers by about 50% this year so we're not huge but we're not small and we're growing that's

where we've been and you can't see the numbers in the yellows but we're everywhere and if you want to help give me a shout but that's not here what I'm what I'm here to talk about today nor am i here to talk about all of the volunteers

who make this possible our instructors are volunteers the hosts for the workshop pays their travel and accommodation but they volunteer their time partly to make the world a better place partly because it's more fun to work with people who know these things

and partly because it's a real boost to their careers the academic job market is pretty tight right now so if Trevor raise your hand Trevor who is one of our instructors wants to get a job at MIT going down and teaching a workshop in Boston and showing

people just how useful he is gets his resume out of the big stack and into the short stack right away so first thing I've learned most scientists think of programming as a tax they have to pay in order to do science this idea that we're going to teach

everybody programming that they're all going to want to learn is wrong and we just need to get past that how many of you do home Renaud's how many of you enjoy doing home Renaud's yeah Chris Atlee puts up his hand this is a guy who enjoys refactoring

make files like we're talking about way out on the bell curve for most of us hanging drywall is something we have to get done not something that we really look forward to similarly if you take the average chemist she could have chosen to go into computer

science she chose to do chemistry that's what she wants to do programming something she has to do along the way in the same way that statistics is something that she has to do along the way so if we say wow this is really exciting let me talk about recursion

we're not helping her okay thing number two and this one took me a long time the curriculum is full every time we want to add something at any level we have to identify something to take out and right now I use this as an acid test if you tell me we should

have more programming in schools my very first question is what will you remove to make if you're not willing to do that I'm not interested in talking to you because you're not being honest yes I absolutely believe we should be teaching programming

in high schools do we give them less gym so they're more obese do we teach them less about French or English depending on which part of Canada you're in how about we teach them less math right how do we give them less music every time you want to add

something you've got to take something out and if you want to do it as evening or weekend then you're cutting into all the things that they currently do with that time and if you want to put more computing into the undergrad program in mechanical engineering

you have to convince a prof that it is more important to a mechanical engineers education than thermodynamics okay if you're willing to do that then you're being honest about the challenges we face and this has been a real struggle for me and this

is why we run these two day workshops outside the normal system our goal is to reach graduate students and then wait 15 years so that they will rise up through the ranks till they're sitting on the curriculum committee and then they can decide what to

take out to make room for this stuff this is how statistics became part of Education in the life sciences and medicine the generation that had to learn it during the Second World War particularly in the UK under Norman Fischer 15 and 20 years later when they

were on the curriculum committees at Oxford and Harvard and Cambridge and UC London they said right we're going to take this out and this was different in every school so that people have to learn stats you've got to play a long game I hate that idea

I am NOT by nature a patient man but this is how it works Wolfgang Pauli's line science advances one funeral at a time okay but all of this stuff is in the paper go read the paper it's short I think it's well written and it's open access so

let me tell you something useful let me tell you some things that aren't really in the paper victory comes from the accumulation of small advantages if you want your workshops to work if you want your teaching to work there is no single slam-dunk there

are a lot of things that can go badly wrong but in terms of what you do right it's a collection of small things how many of you do live coding when you're teaching okay no slides you plug in you start typing do you know why it's better reason number

[ ... ]

Nota: se han omitido las otras 4.474 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.