Skip to content

Commit

Permalink
Merge pull request swcarpentry#70 from gvwilson/more-on-the-carpentries
Browse files Browse the repository at this point in the history
More on the carpentries
  • Loading branch information
Greg Wilson committed Jan 24, 2016
2 parents 2735c95 + 3c37a32 commit fbd7876
Show file tree
Hide file tree
Showing 6 changed files with 353 additions and 161 deletions.
336 changes: 215 additions & 121 deletions 11-carpentries.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,143 +3,220 @@ layout: page
subtitle: The Carpentries
---
> ## Motivating Question
> What do you need to know about the Software / Data Carpentry organizations
> as an instructor?
> What do you need to know about the Software and Data Carpentry organizations
> to be an effective instructor?
{: .objectives}

> ## Learning Objectives
>
> * Learners will know which next steps are necessary to becoming fully certified.
> * Learners will be able to describe at least three similarities and differences between Software
> and Data Carpentry workshops.
> * Learners will know which next steps are necessary to becoming fully certified.
> * Learners will be able to describe at least three similarities and differences between Software
> and Data Carpentry workshops.
{: .objectives}

As new members of Software and Data Carpentry's teaching community, this section
provides some background on both organizations.

## History
In becoming an instructor for Software or Data Carpentry,
you are also becoming part of a community of like-minded volunteers.
This section provides some background on both organizations,
and on the final steps toward certification.

Software Carpentry has a long history of stops and gos. Founder Greg Wilson
identified a need for best practices training in the research computing, and
after several iterations, the current model of two day workshops with a fairly
standard curriculum was born in 2011.
## History

After intermediate support from various organizations, in 2015
SWC became its own private non-profit,
the [Software Carpentry Foundation (SCF)](http://software-carpentry.org/scf/). The
SCF is now responsible for all aspects of Software Carpentry's operations.
[Software Carpentry][swc] was co-founded in 1998 by Brent Gorda and
Greg Wilson, who identified a need for best practices training in
research computing. After several iterations, the current model of
two-day workshops with a standard curriculum emerged in 2010-11.
After intermediate support from various organizations, it became an
independent non-profit organization called the [Software Carpentry
Foundation][scf] (SCF) in 2015. The SCF is now responsible for all
aspects of Software Carpentry's operations.

> ## History Lesson
>
> For an extended history of Software Carpentry, see:
>
> * [the Software Carpentry website](http://software-carpentry.org/scf/history/)
> * [this "Lessons Learned" paper](http://f1000research.com/articles/3-62/v1)
> For more on Software Carpentry's history,
> and on what we've learned along the way,
> see [this page][scf-history] on its website
> or the paper "[Software Carpentry: Lessons Learned][lessons-learned]".
{: .callout}

In 2013, members of the Software Carpentry community identified a need in the
research community for training that was a) aimed at computational novices and
b) taught researchers how to properly handle their data. Thus Data Carpentry
was born, as a separate "sister" organization to Software Carpentry.

Data Carpentry and Software Carpentry share some aspects of their operations, long-term
goals, and community structure:
* both run two-day workshops taught by volunteer instructors
* both target the research community, aiming to fill gaps in current training structures
* both focus on computational skills

Data and Software Carpentry differ in their major content and primary audience:

* Data Carpentry workshops focus on best practices surrounding data. The audience
for a DC workshop is not someone who wants to learn about coding, but rather someone
who has a lot of data and doesn't know what to do with it. The DC workshops are:
* domain specific
* a full two-day curriculum - each "domain" workshop has a two-day curriculum
that centers around a single data set, so separate domain workshops cannot be
mixed and matched.
* aimed at pure novices
In 2013, members of the Software Carpentry community identified a need
for training aimed at computational novices that would teach
researchers how to properly handle their data. This led to the
creation of [Data Carpentry][dc]. While separate, the two
organization share many aspects of their operations, long-term goals,
and community structure:

* Both run two-day workshops taught by volunteer instructors.
* Both strive to fill gaps in current training for researchers.
* Both focus on computational skills.

However, they differ in their content and intended audience.
Data Carpentry workshops focus on best practices surrounding data.
Its learners are not people who want to learn about coding,
but rather those who have a lot of data and don't know what to do with it.
Accordingly, Data Carpentry workshops:

* are aimed at pure novices,
* domain-specific, and
* present a full two-day curriculum centered around a single data set.

* Software Carpentry workshops focus on best practices surrounding software and
code development. The audience for a SWC workshop is someone who has done a little
bit of programming, or has used computational tools primarily inside a GUI. The
SWC workshops are:
* not domain specific
* modular - each Software Carpentry lesson is standalone. Each workshop must cover
at least one lesson each in shell, version control, and a scripting language (python or R)
to be considered an official SWC workshop (more details below). There are various
additional lessons that can be added to these three base lessons.
* aimed at a level slightly above novice, maybe novice+

For more details on the different requirements for running Software and Data Carpentry
workshops, or being a fully certified Software/Data Carpentry instructor, see below.
Software Carpentry workshops focus on best practices for software development and use.
Its workshops are:

* intended for people who need to program more effectively to solve their
computational challenges,
* not domain-specific, and
* modular --- each Software Carpentry lesson is standalone.

All of Software and Data Carpentry's lessons materials are freely available
under a permissive [open license][license].
You may use them whenever and however you want,
provided you cite the original source.
However, the names "Software Carpentry" and "Data Carpentry"
and their respective logos
are all trademarked.
You may only call a workshop a Software Carpentry workshop if:

* covers our three core topics,
* has at least one certified instructor teaching,
* runs our standardised pre- and post-workshop assessment forms and provides us with the results, and
* sends us summary information about attendees (at a minimum, the number of people who attended).

## The Carpentry Community

There are several hubs of activity for the Software and Data Carpentry communities:

* Our websites are:
* [Software Carpentry](http://software-carpentry.org/)
* [Blog](http://software-carpentry.org/blog/)
* [Get Involved](http://software-carpentry.org/join/)
* [Data Carpentry](http://www.datacarpentry.org/)
* [Blog](http://www.datacarpentry.org/blog/)
* [Get Involved](http://www.datacarpentry.org/involved/)
* Our lessons are hosted on GitHub;
contributions to them and discussion of changes happens via GitHub pull requests and issues,
and the lessons are published using GitHub Pages.
* [Data Carpentry on GitHub][dc-github]
* [Software Carpentry on GitHub][swc-github]
* Both Software and Data Carpentry have public discussion lists
that host everything from lively discussion on teaching practices
to job postings and general announcements.
* Data Carpentry also has a [discussion forum][dc-forum].
* And you can find us on Twitter:
* [Software Carpentry on Twitter][swc-twitter]
* [Data Carpentry on Twitter][dc-twitter]

> ## Get Connected
>
> Join our discussion lists, subscribe to our blogs, and follow us on Twitter.
{: .challenge}

## Workshop Operations

Starting in January 2015 we began running bi-weekly debriefing
sessions for instructors who have recently taught workshops. In
these, instructors discuss what they actually did, how it worked, how
the lessons they actually delivered differed from our templates, what
problems arose, and so on.

Summaries are posted on our blog shortly after each meeting.
More importantly,
we have condensed this feedback (and much else)
in an [operations guide](http://software-carpentry.org/workshops/operations.html)
and a set of checklists
that describes what everyone in a workshop is expected to do and why.

Note that all Software/Data Carpentry materials are open source under the
[Creative Commons Attribution License](https://creativecommons.org/licenses/by/4.0/legalcode)
or CC-BY. This means that anyone, at any time, is welcome to use, edit, or adapt our
lesson materials, provided that they provide credit for the source material. In order
to use our lesson materials in an "official" Software or Data Carpentry workshop, make
sure to read the website or get in touch with the administrative staff to ensure that
you are in compliance with the requirements for an official workshop.

## Getting Certified

To become an official Software or Data Carpentry instructor, potential instructors
must go through this instructor training and then perform a checkout exercise. The
instructor training applies to both Software and Data Carpentry, but independent checkout
exercises are required to be certified for both organizations.

## The Carpentry Community

There are several hubs of activity for the Software and Data Carpentry communities:

* Github: hosts the content of most lessons. For Software Carpentry, contributions to
lessons and discussion of changes happens via GitHub pull requests and issues. Github
is also the mechanism for creating landing pages for individual workshops.
* [Software Carpentry on GitHub](https://github.com/swcarpentry)
* [Data Carpentry on GitHub](https://github.com/datacarpentry/)
* Websites:
* [Software Carpentry](http://software-carpentry.org/)
* [Blog](http://software-carpentry.org/blog)
* [Get involved](http://software-carpentry.org/join/)
* [Data Carpentry](http://www.datacarpentry.org/)
* [Blog](http://www.datacarpentry.org/blog/)
* [Get involved](http://www.datacarpentry.org/involved/)
* Mailing lists: both Software and Data Carpentry have public "discuss" mailing lists,
that are host to everything from lively discussion on teaching practices, to job postings,
to general announcements.
* Forums: Data Carpentry has a [discussion forum](http://discuss.datacarpentry.org/)
* Twitter:
* [Software Carpentry on Twitter](https://twitter.com/swcarpentry)
* [Data Carpentry on Twitter](https://twitter.com/datacarpentry)
We have recorded what we've learned about writing workshops
in an [operations guide][swc-operations]
and a set of checklists (linked from that page)
that describes what everyone involved in a workshop is expected to do and why.
Questions, corrections, and additions are *very* welcome.

Since January 2015 we have run bi-weekly debriefing sessions
for instructors who have recently taught workshops.
In these,
instructors discuss what they actually did,
how it worked,
how the lessons they actually delivered differed from our templates,
what problems arose,
and how they were addressed.
Summaries are posted on our blog shortly after each meeting,
and eventually added to our operations guide.

> ## How We Do Things
>
> Go to the [operations guide][swc-operations]
> and read the instructions for a regular instructor
> and for a workshop host.
> What situations might come up that these *don't* answer?
{: .challenge}

## Setting Up

In order to communicate with learners,
and to help us keep track of who's taught what and where,
each workshop's instructors create a one-page website using
[this template][workshop-template].
Once that has been created,
the host or lead instructor sends its URL to
the [workshop coordinator][mailto:{{site.contact}}],
who adds it to our records.
The workshop will show up on our websites shortly thereafter.

> ## Practice With SWC Infrastructure
>
> Go to Software Carpentry's [workshop template repository](https://github.com/swcarpentry/workshop-template) and
> follow the directions to create a workshop website, using your local location and
> today's date.
>
> Go to the [workshop template repository][workshop-template] and follow the directions
> to create a workshop website using your local location and today's date.
{: .challenge}

## Moving Forward
## Final Steps

The final steps in getting certified are as follows:

1. If you want to teach Software Carpentry, pick one of the core
lessons and familiarize yourself with the whole thing, then submit
an exercise for one of its modules as a pull request on GitHub and
send the link to your instrutor.

2. If you want to teach Data Carpentry, pick one of *its* core
lessons, familiarize yourself with it, and submit an exercise for
it by going [here][dc-exercises] (which will redirect you to a
Google Doc with instructions on format). Again, mail your
instructor to let her know that your exercise is in.

3. Concurrently, sign up on the Etherpad indicated by your instructor
to take part in an hour-long discussion session about each lesson
you've chosen (one session if you're only interested in teaching
one of the carpentries, one session each if you're interested in
teaching both). This will give you a chance to ask questions about
the content and how it's presented, and about Software and Data
Carpentry in general.

4. Once you've been through your discussion session and have submitted
your exercise, we will ask you to sign up for a 5-minute online
demonstration lesson slot. In that, we will ask you to teach a
short segment of your chosen lesson - we'll tell you which segment
on the day, so you'll have to be familiar with the whole lesson
before we start. Assuming that goes well, we will send you your
certificate, add you to our roster, and get you on the dance floor.

Please note that:

Why did you take this training? Why do you think it's important to teach these
workshops? We would like to know and potential funding agencies would too! One
challenge facing the Software and Data Carpentry communities is how to assess our
impact.
1. You only have to do one lesson for a particular project (Data
Carpentry or Software Carpentry) in order to be certified as an
instructor for it - if you qualify on one lesson, we'll trust you
to familiarize yourself with others that you may want to teach.

2. Your exercise doesn't have to be accepted in order for you to
become an instructor - the point of this exercise is to make sure
that you understand the process and have met the people who review
material.

3. We'd like to get everyone through this process within two months of
training, so please get started as soon as you can.

* [Software Carpentry core lessons][swc-lessons]
* [Unix shell](https://github.com/swcarpentry/shell-novice)
* [Git](https://github.com/swcarpentry/git-novice)
* [Python](https://github.com/swcarpentry/python-novice-inflammation)
* [R (1)](https://github.com/swcarpentry/r-novice-inflammation)
* [R (2)](https://github.com/swcarpentry/r-novice-gapminder)
* [Data Carpentry core lessons][dc-lessons]
* [R-ecology](https://github.com/datacarpentry/R-ecology/ )
* [Python-ecology](https://github.com/datacarpentry/python-ecology/ )
* [SQL-ecology](https://github.com/datacarpentry/sql-ecology/ )
* [OpenRefine-ecology](https://github.com/datacarpentry/OpenRefine-ecology/ )

## Assessment

What impact do our workshops really have? We would like to know, and
so would our funders. In order to find out, we need to improve both
the assessment we do, and how often we do it.

> ## Feedback on Assessment
>
Expand Down Expand Up @@ -179,8 +256,25 @@ impact.
{: .challenge}

> ## Present a Pitch
>
> In small groups, take turns presenting a two minute "elevator pitch" for a
> Software or Data Carpentry workshop, as if you were presenting to your boss,
> department chair, or similar person in leadership.
{: .challenge}
>
> In small groups, take turns presenting a two minute "elevator pitch" for a
> Software or Data Carpentry workshop, as if you were presenting to your boss,
> department chair, or similar person in leadership.
{: .challenge}

[dc-exercises]: http://www.datacarpentry.org/instructor-checkout-exercises/
[dc-forum]: http://discuss.datacarpentry.org/
[dc-lessons]: http://www.datacarpentry.org/lessons/
[dc-github]: https://github.com/datacarpentry/
[dc-twitter]: https://twitter.com/datacarpentry
[dc]: http://datacarpentry.org
[lessons-learned]: http://f1000research.com/articles/3-62/v1
[license]: license.html
[scf-history]: http://software-carpentry.org/scf/history/
[scf]: http://software-carpentry.org/scf/
[swc-github]: https://github.com/swcarpentry/
[swc-lessons]: http://software-carpentry.org/lessons/
[swc-operations]: http://software-carpentry.org/workshops/operations.html
[swc-twitter]: https://twitter.com/swcarpentry
[swc]: http://software-carpentry.org
[workshop-template]: https://github.com/swcarpentry/workshop-template
Loading

0 comments on commit fbd7876

Please sign in to comment.