Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Carpentry training model

Ivan
April 02, 2015

Software Carpentry training model

what is software carpentry, and how it organizes its training for scientists (adults/professional education)

Ivan

April 02, 2015
Tweet

More Decks by Ivan

Other Decks in Education

Transcript

  1. RAISON D'ÊTRE Software Carpentry is a volunteer organization whose goal

    is to make scientists more productive, and their work more reliable, by teaching them basic computing skills. ...it runs short, intensive workshops that cover program design, version control, testing, and task automation.
  2. BEST PRACTICES 1. Write programs for people, not computers. 2.

    Let the computer do the work. 3. Make incremental changes. 4. Don't repeat yourself (or others). 5. Plan for mistakes. (testing) 6. Optimize software only after it works correctly. 7. Document design and purpose, not mechanics. 8. Collaborate.
  3. V1: 1995 ~ 2002 BCP articles at IEEE CS &

    Eng 1 week courses at Los Alamos National Laboratory 9 iterations from 1998 to 2002 Intensive week­long courses are easy to schedule..., but by the last two days, attendees’ brains are full and learning drops off significantly. Textbook software engineering is not the right thing to teach most scientists.
  4. V2/3: 2004 ~ 2005 term-long graduate course students from Computer

    Science and the physical and life sciences Most Computer Science faculty believe this basic material is too easy to deserve a graduate credit. However, other departments... In the absence of an institutional mechanism to offer credit courses at some inter­departmental level, this course ... fell between two stools.
  5. V2/3: 2004 ~ 2005 ...despite repeated invitations, other people did

    not contribute updates or new material beyond an occasional bug report. This is partly because educators’ preferred file formats (Word, PowerPoint, and PDF) can’t be handled gracefully by existing version control systems, but more importantly, there simply isn’t a “culture of contribution” in education for projects like Software Carpentry to build on.
  6. V4: 2010 switch back to week-long courses for sponsoring org

    120 short video lessons changing landscape: open access, crowd sourcing “If I wanted to be a programmer instead of a chemist, I would have chosen computer science as my major instead of chemistry” Most importantly, the MOOC format didn’t work: only 5–10% of those who started with us completed the course.
  7. V5: 2012 ­ switch to two days intensive course (following

    The Hacker Within model) cut OOP, XML, GUI, design patterns, soft dev life-cycles,... shorter course == more participants == more instructors our real aim isn’t to teach Python, Git, or any other specific tool: it’s to teach computational competence.
  8. WORKSHOP TIPS no more than 40 people per room during

    workshop free, but small registration fee ($20-40) helps to reduce no-show rate live coding instead of slides (ipython notebook) open lessons content (CC-BY) open everything (grant proposals, feedback from participants) dogfooding (github, documentation tools)
  9. To help people teach, we now run an online training

    course for would­be instructors. It takes 2–4 hours/week of their time for 12–14 weeks, and introduces them to the basics of educational psychology, instructional design, ... It is necessarily very shallow, but most participants report that they find the material interesting as well as useful.