Curriculum Advisors Handbook#

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.

    • Avoiding 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 meeting.

  • Assign meeting roles.

  • Serve as 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 Curriculum Team Lead (Toby Hodges) if a CAC member needs to step down mid-term or becomes unresponsive to communications, so that 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 to the appropriate CAC repository.

  • Fulfill all other responsibilities of a CAC member.

Other members#

  • Notify Chair of potential agenda items as they arise.

  • Review agenda and other relevant documents sent by Chair prior to meeting.

  • Attend and actively participate in regular meetings by being attentive, 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#

  • CAC recruitment takes place annually, based on term limits and turnover within committees.

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

  • Volunteers will be asked to apply for the role by filling in a short webform 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 and 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 The Carpentries 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 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 on 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, trainings, 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 Quick Start 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)

To join The Carpentries Slack workspace, you can follow this link.

Mailing List#

You can access all 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 listservs, you will need to create a login on the site. 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 availability poll using whenisgood (or 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 similar service). Include 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 The Carpentries.

  • 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 Chair to fill in)

    • Agenda (leave blank for Chair to fill in)

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

  • Secretary Send meeting announcement using this email template.

  • Chair Determine meeting roles using a randomizer or something similar

  • 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 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 Secretary when 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 this 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 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 group using this email template. Include 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 backwards compatible with 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 of a lesson outline where 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 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 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 order, and acknowledges whose turn it is to speak. Makes 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 time for specific agenda items is short.

Excited to meet with you all soon.

Best, [ sender name ]

Meeting followup#

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 findany 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 ]

FAQ#

How do the responsibilities of Curriculum Advisors differ from Maintainers?

Please review the Curriculum Advisory Committee Consultation Rubric.

About This Handbook#

The Curriculum Advisor Handbook is a resource for members of The Carpentries community who are serving on a Curriculum Advisory Committee. This handbook will provide you with information on how to receive relevant communications and includes a step-by-step guide for serving in this role. The Carpentries Curriculum Team manages the content of this handbook. To provide feedback, please email the Curriculum Team. If you are unfamiliar with any of the terms used in this handbook, please refer to our Glossary of Terms.