Our Core Curriculum consists of the lessons in the table below. These have been taught many times, and have been further refined after instructor and learner feedback. For more information regarding core lessons and workshops, see Our Workshops.
The lessons introduce terms, phrases, and concepts in software development and data science, how to best work with data structures, and use regular expressions in searches. We introduce the Unix-style command line interface, andteach basic shell navigation, as well as the use of `loops` and pipes for linking shell commands. We also introduce `grep` for searching and subsetting data across files. Exercises cover the counting and mining of data. In addition, we cover working with OpenRefine to transform and clean data, and the benefits of working collaboratively via Git/GitHub and using version control to track your work.
|Introduction to Data||Stable||Carmi Cronje, Paul Pival, Shari Laster*, Anton Angelo (Past Maintainer: James Baker)|
|The UNIX Shell||Stable||Belinda Weaver, Tim Dennis, Danielle Kane, Nilani Ganeshwaran*|
|OpenRefine||Stable||Owen Stephens, Juliane Schneider, Paul Pival, Kristin Lee, Erin Carrillo* (Past Maintainer: Carmi Cronje)|
|Introduction to Git||Beta||Chris Erdmann, Thea Atwood, Drew Heles*, Katrin Leinweber, Eva Seidlmayer (Past Maintainers: Belinda Weaver, Jez Cope)|
The following Library Carpentry lessons can also be taught in addition to our core curriculum. These lessons have been taught infrequently and still need further work. We would value any feedback on these lessons.
|Tidy Data||Beta||Tim Dennis, Thea Atwood, Sherry Lake*, Erika Mias (Past Maintainer: Jez Cope)|
|SQL||Beta||Kristin Lee, Chris Erdmann, Jordan Pedersen* (Past Maintainers: Elaine Wong, Janice Chan)|
|Webscraping||Alpha||Joshua Dull*, Thomas Guignard (Past Maintainer: Belinda Weaver)|
|Introduction to Python||Alpha||Konrad Foerstner, Drew Heles, Elizabeth Wickes, Laura Wrubel* (Past Maintainers: Carlos Martinez, Richard Vankoningsveld)|
|Introduction to Data for Archivists||Alpha||Jenny Bunn*, Noah Geraci, and James Baker (Looking for new Maintainers)|
The following Etherpad contains Library Carpentry experimental/conceptual lessons that are currently being discussed and/or under development.
Our lessons are in various stages of development - stable, beta, alpha, and conceptual.
These lessons are mature and ready to be taught. Most have been taught multiple times. The content is well-established, but minor changes and improvements (e.g. better explanations, spelling/grammar corrections, improved exercises) are always welcome.
These lessons are largely complete and should be ready to teach, but would benefit from improvements based on feedback from instructors who have taught them. New sections and rewrites/reorganisations of existing sections will be considered.
These lessons are under active development and may not be ready to teach without additional preparation and background knowledge. Further development work is strongly encouraged - please get in touch or check out outstanding issues on GitHub to find out what is needed.
These lessons are still in the conceptual phase where community members have just started to discuss general ideas , learner profiles, goals, summative and fomative assessments, concept maps, software and data to be used, how long the lesson should be, and connecting the dots before moving to the alpha phase.
All contributions are welcome. The level of work may vary depending on the status of the lesson. We recommend that you @mention the Maintainers of the lesson if you are picking up the tasks described in one of the open lesson issues or pull requests.
Our recommended process for developing a new lesson is as follows:
In order to maintain consistent quality and style in the Library Carpentry lessons, we have a community-driven set of expectations for what a good lesson should look like. These should guide the review process at steps 5 and 8 above. Lesson developers and reviewers should also review The Carpentries Handbook, especially the section on Lesson Development and consult with the Curriculum Advisory Committee.