Curriculum Advisors Handbook#

About This Handbook#

The Curriculum Advisor Handbook is designed to support members of The Carpentries community who are serving on a Curriculum Advisory Committee. It is maintained by The Carpentries Curriculum Team. If you believe anything needs to be added or updated here, or if you would like to provide feedback on the content, please email the Curriculum Team or open an issue on the source repository of this handbook. If you are unfamiliar with any of the terms used in this handbook, please refer to our Glossary of terms.

Introduction#

Curriculum Advisors are part of a team that provides the oversight, vision, and leadership for a particular set of lessons. Curriculum Advisors represent The Carpentries community and should strive to embody The Carpentries philosophy by:

  • Recognising the importance of communication and being welcoming to all contributors.

  • Giving feedback to contributors using The Carpentries model:

    • Finding what is good.

    • Being specific about improvements needed.

    • Using motivational language.

  • Evaluating lesson contributions in light of The Carpentries pedagogical model:

    • Teaching what is most relevant and useful for learners.

    • Avoid getting bogged down in technical details.

    • Keeping language motivating.

    • Emphasising the importance of continued learning and improvement.

Roles and Responsibilities#

Chair#

  • Prepare agenda for regular meetings, including time estimates for each item.

  • Set the agenda and send it out along with any other relevant documents to committee members at least one week in advance of the meeting.

  • Assign meeting roles.

  • Serve as a primary point of contact for Maintainers.

  • Review lesson repositories for instances where the Curriculum Advisory Committee (CAC) is mentioned. Respond in a timely fashion, including letting Maintainers and contributors know when items are going to be considered at the next meeting.

  • Generally review lesson repositories for items that may come under the CAC’s purview, according to the CAC consultation rubric, even if not mentioned.

  • Communicate with lesson Maintainers and contributors, through GitHub issues, about decisions made by the CAC. Put contributors and Maintainers in contact with CAC members who will assist with implementation.

  • Notify the Curriculum Team Lead (Toby Hodges) if a CAC member needs to step down mid-term or becomes unresponsive to communications so that the Core Team can help recruit a replacement if needed.

  • Approve meeting minutes.

  • Fulfill all other responsibilities of a CAC member.

Secretary#

  • Schedule regular meetings.

  • Arrange meeting room logistics.

  • Send calendar invites.

  • Send meeting reminders.

  • Prepare meeting minutes and post them to the appropriate CAC repository.

  • Fulfill all other responsibilities of a CAC member.

Other members#

  • Notify the Chair of potential agenda items as they arise.

  • Review the agenda and other relevant documents sent by the Chair before the meeting.

  • Attend and actively participate in regular meetings by being attentive, and sharing knowledge, expertise, ideas, and information.

  • Participate in asynchronous voting through GitHub as needed.

  • Work with community members and Maintainers to implement voted-upon changes as needed.

  • (Optional) Be involved in discussions on GitHub with Maintainers and community members when CAC is mentioned.

Onboarding#

  • Due to restricted capacity in the Curriculum Team, regular Curriculum Advisor Onboarding is currently suspended. Individual Curriculum Advisory Committees may choose to recruit new members independently, making use of the process and any/all of the resources described below as needed. If you are interested in joining an existing Curriculum Advisory Committee, we recommend that you contact the relevant group via their mailing list on TopicBox.

  • Rounds of recruitment will be announced on The Carpentries blog.

  • Volunteers will be asked to apply for the role by filling in a short web form describing their expertise and motivation for joining a committee.

  • Templates and workflows for CAC recruitment and onboarding are maintained in the Core Team wiki (internal access only).

  • Onboarding aims to provide new Curriculum Advisors with context for the role how CACs fit into The Carpentries model for curriculum development and maintenance, and what they can expect as they prepare to join their first committee meeting.

  • Onboarding for Curriculum Advisors takes place in two parts:

    1. A general onboarding for all Curriculum Advisors

    2. An additional onboarding for the committee officers (Roles and responsibilities)

  • Both onboardings are delivered by the Curriculum Team over Zoom, with the possibility to be onboarded through a recording of the sessions available for those who cannot attend synchronously.

  • Onboarding slides:

    1. general onboarding slides

    2. officer onboarding slides

  • After these onboarding sessions, Curriculum Advisors should complete the following steps:

    1. Log into AMY with GitHub credentials and update their profile.

      • When updating their AMY profile, it is essential that Advisors give consent for The Carpentries to publish their profile so that they can be listed on The Carpentries websites.

    2. Join the mailing list for their committee on Topicbox. CAC mailing lists are named with the prefix “curriculum-advisors-“.

      • These mailing lists are configured so that anyone can send a message to them, but the list membership is moderated so that only current members of the committee will receive messages sent to the group.

    3. Subscribe to notifications from the GitHub repositories for the lessons in their curriculum.

      • This is only required for CAC chairs, but is recommended for all Curriculum Advisors as a way to stay up-to-date about discussions and developments taking place in their curriculum.

      • Repositories are linked from the “Repository” column of the lesson tables in the “Lessons” page of each Lesson Program website:

Term Length#

Curriculum Advisors are expected to serve a two-year term.

Offboarding#

We understand that circumstances can change and priorities must be re-evaluated. If a Curriculum Advisor needs to step away from the role before the end of their two-year term, the Curriculum Team will support them to do this.

  1. After the first year, the Curriculum Team will approach Curriculum Advisors to confirm that they wish to continue in the role or to step back.

  2. If an Advisor needs to step away from the role outside this schedule, they should inform their committee Chair and the Curriculum Team.

Communication and Collaboration Spaces#

Below is a list of communication channels and collaboration spaces that support Curriculum Advisors. Participants in these channels and spaces are expected to follow our Code of Conduct.

Meetings#

Each Curriculum Advisory Committee will meet at least quarterly, and preferably every two months. These meetings are the primary avenue through which CAC members will interact and should follow best practices for The Carpentries meetings, including having meeting roles, taking notes, and creating and holding a space for everyone to contribute. CAC members should prepare for meetings by reviewing and contributing to relevant documents in advance of the meeting.

GitHub Repositories#

These repositories serve as a public record of meeting notes and decisions made by each of the following CACs.

Collaborative Notetaking#

The Carpentries uses Etherpad as a collaborative note-taking tool during workshops, training, and other Carpentries-related events. Pads are synchronised as you type so that everyone viewing the page sees the same text. This allows everyone to collaborate simultaneously on documents. Below is a list of Etherpads relevant to serving as a Curriculum Advisor.

Please note that use of this service is restricted to members of The Carpentries community; it is not for general purpose use. All Etherpad content is publicly available under the Creative Commons Attribution Licence.

Messaging and Communication#

The Carpentries uses two primary tools for supporting communications among our members: Slack and TopicBox. We know that everyone has different communication preferences, so announcements and updates coming from members of the Core Team are posted to both channels.

Slack#

Slack is a communications platform adopted by The Carpentries for instant messaging as well as synchronous and asynchronous collaboration. If you are new to Slack, please checkout our Slack Guide.

There are many curriculum-specific channels. We recommend that Curriculum Advisors join the channels for all lessons within their curriculum. Lesson-specific channels can usually be found based on a common prefix based on the lesson program they belong to (“swc-” for Software Carpentry, “lc-” for Library Carpentry, and “dc-” for Data Carpentry)

Join The Carpentries Slack workspace using this invite link.

Mailing List#

You can access The Carpentries mailing lists from Topicbox. There are numerous mailing lists you can join based on the volunteer roles you are supporting and your interests. Below is a list of mailing lists relevant to the activities and programs covered by this handbook.

To join one or more Carpentries mailing lists, you will need to create a login. Once you have done this, you can scroll through the list of groups and click “Join the Conversation” (for open listservs) or “Request to Join” (for those listservs requiring administrator approval).

Step-by-Step Guides#

Below is a step-by-step guide to support you in your role as a Curriculum Advisor.

Meeting Checklist#

  • Secretary: Create an availability poll using whenisgood (or a similar service). Be sure to enable the “use timezones” feature.

  • Secretary: Start scheduling the meeting using the email template.

  • Secretary: Determine the best meeting time (or two if needed) from the availability poll. Create an event time announcement using TimeandDate (or a similar service). Include an event time announcement link in all communications about meeting times.

  • Secretary: Set up a meeting room with Zoom (or similar service). If you need a room provided by The Carpentries, contact team@carpentries.org.

  • Secretary: Set up Etherpad. For the first meeting, create Etherpad by visiting your desired URL starting with https://pad.carpentries.org (e.g. https://pad.carpentries.org/my-cac-name). This will create an Etherpad pre-populated with standard language about The Carpentries. For subsequent meetings, use the same Etherpad. The history will automatically archive. Include on Etherpad:

    • Meeting connection information (Zoom link and dial-in options)

    • Time zone converter link for meeting time

    • Sign-in

    • Meeting roles (leave blank for the Chair to fill in)

    • Agenda (leave blank for Chair to fill in)

  • Secretary: Send meeting invitations on Google Calendar. Include Etherpad and Zoom connection links in the invite.

  • Secretary: Send meeting announcement using this Meeting announcement email template.

  • Chair: Determine meeting roles using random assignment

  • Chair: Create agenda on Etherpad, collecting agenda items from:

  • Issues and pull requests tagged to the CAC on GitHub.

    • Requests that have come in by email to the TopicBox or from The Carpentries Core Team.

    • Upcoming changes to software or changes in practice occurring in the field that should be considered by CAC.

    • Other agenda items brought to the Chair by CAC members.

    • Each agenda item should include links to relevant conversations or information, as well as an approximate length of time for discussion. Notify the Secretary when the agenda is ready to share.

  • Chair: Maintain open agenda items as issues to the CAC GitHub repository. Update these with links to relevant conversations (e.g. tagging other issues in various lessons, or copying in emails from community members), re-opening/closing issues as needed.

  • Secretary: Send meeting reminder using the meeting reminder email template.

  • Chair: Ensure that meeting proceeds smoothly using the assigned meeting roles.

  • Secretary: Compile meeting minutes from notes. Add minutes as a PR to the GH repository using the file format MONTH-minutes.md. Include in minutes:

    • Date and time of meeting

    • Names of those in attendance

    • Agenda items discussed, a summary of each discussion, and outcomes of any votes taken

  • Chair: Review and edit or approve minutes. Merge PR.

  • Secretary: Send meeting follow-up to the group using the Meeting follow-up email template. Include a link to minutes and information about any follow-up tasks.

  • Chair: Communicate about decisions with relevant Maintainers or other community members as needed using individual lesson repositories, mailing lists, or other channels as appropriate.

  • Secretary: Set reminder to self to schedule next meeting.

Resources#

Curriculum Advisory Committee Consultation Rubric#

This rubric defines the division of responsibilities between The Carpentries Maintainers and The Carpentries Curriculum Advisory Committees (CACs).

Issues over which Maintainers have full authority and which do not need CAC involvement.#

  • Addition or removal of exercises

  • Reorganisation of material within episodes

  • Addition or removal of callout boxes

  • Addition or removal of or changes to figures

  • Changes to episode timings

  • Changes to lesson text

Issues about which Maintainers should consult the CAC.#

  • Any new versions of a dataset (either a new release or a modification of existing data)

  • Any major adjustments to the lesson (e.g., episode order, passwordless access)

  • Any updates to a lesson that Maintainers wish to share for informational purposes

Issues that may benefit from Maintainers consulting with the CAC, but over which Maintainers retain authority.#

  • Addition of a new library or package

  • Introduction of a new topic/learning objective (e.g., adding file permissions to LC shell lesson)

  • Updates to software/packages that are minor versions (e.g., Python 3.7 -> 3.8) when the new version is backward compatible with the current version

  • Additions of experimental features (e.g., git checkout → git restore / git switch)

  • Any change to a lesson that impacts the content/scope of another lesson in the curriculum

  • For Incubator lessons - Review a lesson outline where a lesson developers would like the lesson to be considered for eventual adoption into a Lesson Program’s official curriculum

  • Issues which are not covered anywhere else in this rubric

Issues for which Maintainers must seek CAC approval.#

  • Replacing the dataset used in the lesson with a different dataset. This does not include cases in which the data being used in the the lesson is being updated to a new version (e.g., a new data release) or is modified to make it more suitable for the teaching environment (e.g., introduction of messiness to the dataset).

  • Changing the software being used in the lesson. This does not include updating to a new stable, backwards-compatible version of the existing software (e.g., Python 3.6 → 3.7.x), but does include:

    • Updating to a non-backwards compatible version of existing software (e.g., Python 2.x → 3.x, R 3.x → 4.x)

    • Change in plotting library (e.g., Matplotlib, Plotly, Seaborn, ggplot, Altair)

    • Change in libraries/packages taught (i.e., removal or replacement)

    • Change in SQL dialect (e.g., SQLite, MySQL, PostgreSQL, MSSQL Server)

    • Change in IDE being used to teach the lessons (RStudio, Jupyter Notebook)

    • Change from GitHub as a remote hosting platform to a different remote hosting platform, e.g., GitLab

  • Removal of an entire episode’s worth of content

  • Change in lesson infrastructure (e.g., moving Genomics lessons from AWS to CyVerse)

  • Retirement of a lesson (e.g., MATLAB, Mercurial)

  • Addition of a new lesson to the core curriculum (e.g., adding Julia as an alternative to R / Python)

  • Adding or removing prerequisites from a lesson (for curricula with multiple lessons)

  • Promotion or graduation of a lesson from alpha to beta to stable. Decisions on approval can be based on recommendations from the Curriculum Team, CAC member involvement in lesson pilot workshops, and/or open peer review of lessons in The Carpentries Lab.

Email templates#

Curriculum Advisors can use these email templates for planning their meetings.

Scheduling a meeting#

Subject: Scheduling [ QUARTER YEAR ] Meeting of the [ Data Carpentry / Library Carpentry / Software Carpentry ] [ CURRICULUM TITLE ] Curriculum Advisory Committee

Hi everyone,

I’d like to get us started on setting up our meeting for [ QUARTER YEAR ]. This meeting will be between [ DATE ] and [ DATE ].

To help schedule the meeting, could everyone please add their availability to this whenisgood by this coming Friday ([ DATE ])? Please make sure to put in your time zone at the top of the poll. I’ll review the results and let everyone know the meeting time by [ DATE ] so that you can clear up any holds on your calendar.

Best, [ sender name ]

Meeting announcement#

Subject: [ QUARTER YEAR ] Meeting of the [ Data Carpentry / Library Carpentry / Software Carpentry ] [ CURRICULUM TITLE ] Curriculum Advisory Committee

Hi all,

Thank you for providing your availability. Our [ QUARTER YEAR ] meeting will be [ TIME AND DATE IN UTC ONLY ]. You can check the meeting’s time in your local time zone by clicking this link. You should have received a Google calendar invite to the meeting with Zoom connection information and the link to our Etherpad.

A week before the meeting, I will send out our full agenda as well as meeting roles (notetaker, timekeeper, facilitator).

Please let me know if you have any questions in the meantime or if you didn’t get the GCal invite.

Best, [ sender name ]

Meeting reminder#

Subject: [ QUARTER YEAR ] Meeting of the [ Data Carpentry / Library Carpentry / Software Carpentry ] [ CURRICULUM TITLE ] Curriculum Advisory Committee

Hi everyone,

Just a reminder that we’ll be meeting on [ DATE AND TIME IN UTC ONLY ]. You should have a Google Calendar invite for the meeting with connection information. You can double-check the meeting time in your local time zone by following this link.

[ NAME OF CHAIR ] has prepared an agenda for our meeting. Please review the agenda on our Etherpad in advance of the meeting and be prepared to share your thoughts.

Our roles for the meeting are also listed on the Etherpad. As a reminder, we will be using the following roles. If you are not able to or comfortable with carrying out your assigned role, please contact [ NAME OF CHAIR ].

Facilitator - Introduces each agenda item. Monitors both the chat and the visual meeting window for “hands”, keeps track of the order, and acknowledges whose turn it is to speak. Make sure everyone has a chance to share their views.

Notetaker - Records meeting attendance and major points of discussion. Especially takes note of decisions and action items.

Timekeeper - monitors time and notifies the group when the time for specific agenda items are short.

Excited to meet with you all soon.

Best, [ sender name ]

Meeting follow-up#

Subject: Follow-up from [ QUARTER YEAR ] Meeting of the [ Data Carpentry / Library Carpentry / Software Carpentry ] [ CURRICULUM TITLE ] Curriculum Advisory Committee

Hi all,

Thank you again for a very productive meeting last week. Our minutes for the meeting are posted to our repository. Minutes include decision points and action items for follow-up. I would like everyone to review them to make sure that I’ve correctly identified the decisions that were made.

Please review and respond to the minutes and let me know by `DATE AND TIME UTC if you find any problems or have any objections to the decisions and action items. At that point, [ CHAIR NAME ] will follow up with the Maintainers on the next steps.

Thank you everyone for bringing your knowledge and expertise to the meeting last week and for your deep thought about this curriculum. I’m excited about [ upcoming publication or major lesson change ].

Please let me know if you have any questions or comments.

Best, [ sender name ]

Curriculum Onboarding Materials#

FAQ#

How do the responsibilities of Curriculum Advisors differ from Maintainers?

Please review the Curriculum Advisory Committee Consultation Rubric.