Skip to content

Commit 3e96a11

Browse files
author
drjwbaker
committed
create repo
0 parents  commit 3e96a11

File tree

15 files changed

+959
-0
lines changed

15 files changed

+959
-0
lines changed

.DS_Store

6 KB
Binary file not shown.

AUTHORS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Library Carpentry is authored and maintained by the [community](https://github.com/data-lessons/library-data-intro/network/members).
2+
3+
Credit for the Library Carpentry logos goes to [Tammy Nguyen](https://twitter.com/tammysongnguyen).

CITATION

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Please cite as:
2+
3+
Library Carpentry:
4+
"Data Intro for Librarians."
5+
June 2016, http://data-lessons.github.io/library-data-intro/.

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Library Carpentry
2+
3+
The Library Carpentry module '[Data Intro for Librarians](http://data-lessons.github.io/library-data-intro/)' is maintained by [Carmi Cronje](https://github.com/ccronje) and [James Baker](https://github.com/drjwbaker).
4+
5+
## Background
6+
7+
Library Carpentry is a software skills training programme aimed at library and information professions. It builds on the work of [Software Carpentry](http://software-carpentry.org/) and [Data Carpentry](http://www.datacarpentry.org/).
8+
9+
These materials are based on the **Library Carpentry** materials initially developed and taught by [James Baker](https://github.com/drjwbaker), [Owen Stephens](https://github.com/ostephens) and [Daniel van Strien](https://github.com/davanstrien) in 2015.
10+
[http://librarycarpentry.github.io/outline/](http://librarycarpentry.github.io/outline/). The original Library Carpentry contained four modules:
11+
12+
- Introduction, including jargon busting, data structures and regular expressions
13+
- The Unix shell, including use of the command line and commands such as`grep` and `sed` to find data within files
14+
- Git and version control
15+
- Using OpenRefine for data clean up.
16+
17+
On 2-3 June 2016 during the [Mozilla Science Lab Global Sprint](https://science.mozilla.org/programs/events/global-sprint-2016) these existing four repositories were forked (links below) and re-developed within individual repositories, with the addition of a fifth module that introduces **SQL**, a topic which many librarians have expressed interest in learning.
18+
19+
- [library-data-intro](https://github.com/data-lessons/library-data-intro)
20+
- [library-shell](https://github.com/data-lessons/library-shell)
21+
- [library-git](https://github.com/data-lessons/library-git)
22+
- [library-openrefine](https://github.com/data-lessons/library-openrefine)
23+
- [library-sql](https://github.com/data-lessons/library-sql)
24+
25+
The Library Carpentry sprint was co-ordinated by [Belinda Weaver](https://github.com/weaverbel) and attracted global participation.
26+
27+
## Contribution
28+
29+
There are many ways of contributing to Library Carpentry:
30+
31+
- Join our [Gitter discussion forum](https://gitter.im/weaverbel/LibraryCarpentry).
32+
- Follow updates on [Twitter](https://twitter.com/search?f=tweets&vertical=default&q=%23librarycarpentry&src=typd).
33+
- Make a suggestion or correct an error by [raising an Issue](https://github.com/data-lessons/library-data-intro/issues).
34+
35+
## Code of Conduct
36+
37+
All participants should agree to abide by the [Software Carpentry Code of Conduct](http://software-carpentry.org/conduct/).
38+
39+
## Authors
40+
41+
Library Carpentry is authored and maintained by the [community](https://github.com/data-lessons/library-data-intro/network/members).
42+
43+
## Citation
44+
45+
Please cite as:
46+
47+
Library Carpentry. Data Intro for Librarians. June 2016. http://data-lessons.github.io/library-data-intro/.
48+
49+
## License
50+
51+
All the lessons are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/). **Exceptions: embeds to and from external sources, and direct quotations from speakers.**

_extras/discuss.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
layout: page
3+
title: Discussion
4+
permalink: /discuss/
5+
---
6+
There are many ways to discuss Library Carpentry lessons:
7+
8+
- Join our [Gitter discussion forum](https://gitter.im/weaverbel/LibraryCarpentry).
9+
- Follow updates on [Twitter](https://twitter.com/search?f=tweets&vertical=default&q=%23librarycarpentry&src=typd).
10+
- Make a suggestion or correct an error by [raising an Issue](https://github.com/data-lessons/library-data-intro/issues).

_extras/guide.md

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
---
2+
layout: page
3+
title: "Instructor Notes"
4+
permalink: /guide/
5+
---
6+
7+
____
8+
# Making a handout
9+
10+
Librarians like handouts. To make a handout for the [Regular Expressions episode](http://data-lessons.github.io/library-data-intro/04-regular-expressions/) do the following:
11+
12+
- download the reference.md page for this lesson from [https://raw.githubusercontent.com/data-lessons/library-data-intro/gh-pages/reference.md](https://raw.githubusercontent.com/data-lessons/library-data-intro/gh-pages/reference.md) (right click, save page as).
13+
- open the reference.md in a text editor and remove the header (the first five lines). Note for Windows users: if '.txt' has been added to the filename, resave without the '.txt'.
14+
- you now have a markdown file ready to convert to .docx or .pdf for printing. Now either:
15+
- *either* head to a webservice like [Dillinger](http://dillinger.io/), paste your markdown in the left hand columns, and use the 'Export As' dropdown to create a pdf document.
16+
- *or* download and install [pandoc], open the shell, and from the directory the markdown file is in run `pandoc reference.md -f markdown -t docx -s -o reference.md`
17+
18+
____
19+
# General
20+
21+
Two sets of sticky notes (ideally one red and one blue) are required to run a Library Carpentry workshop. Learners should be encouraged to put a red sticky note on the back of their laptop (raised like a flag) if they need help, and to put the blue sticky note on the back of their laptop if they don't need help.
22+
23+
At each break, ask learners to provide feedback on their learning experience since the last break. They should do this by writing one thing that didn't go well on their red sticky note and and one thing that did go well on their white sticky note. Collect these sticky notes, keep them organised so you know which section of the lesson their pertain to, and collate them after the workshop. Matters arising should be raised as Github issues for the relevant lesson.
24+
25+
____
26+
# 02-jargon-busting.md
27+
28+
Requirements for this task are:
29+
30+
- boards/pads
31+
- pens
32+
33+
The purpose of this task is threefold. First, it is an icebreaker. Second, it helps learners find their confidence level and situate their experience and knowledge in the context of fellow learners. Third, it helps manage expectation as the instructor can explain to learners which terms, phrases, or ideas will be covered by this Library Carpentry workshop, which terms, phrases, or ideas are covered by other Library Carpentry lessons, and which terms, phrases, or ideas are covered elsewhere.
34+
35+
When collating feedback on the whiteboard, one strategy is to organise the board from sad (on the left) to happy (on the right), then to locate the terms, phrases, or ideas offered by learners on that spectrum. This performs three functions. First, it opens space to discuss which terms, phrases, or ideas people find or perceive to be easy to understand and what they find or perceive to be hard to understand. Second, it helps identify expertise in the room that learners may turn to for questions during breaks. Third, the instructor can return to the board at the end of the workshop to judge whether learners are more or less confident with some of the terms, phrases, or ideas identified at the outset.
36+
37+
____
38+
# 03-foundation.md
39+
40+
The material in this episode is intended as a guide. Instructors are recommended to use this section as an opportunity to discuss foundational skills that they think are relevant.
41+
42+
The purpose of the section is to situate a Library Carpentry workshop in a wider landscape of practice and to demonstrate the value of commonsense approaches to software and data.
43+
44+
_____
45+
# 04-regular-expressions.md 05-quiz.md 06-quiz-answers.md
46+
47+
You may find it useful to use slides to work through episode four (see below for potential slides). Before starting the exercise, encourage learners to work with pen and paper, explain that with regex there are sometimes multiple answers to the same question (that is, some regex is perfect and some does the job given the likely data structures we use) and point them towards places to test their regex: for example regex101 [https://regex101.com/](https://regex101.com/), rexegper [http://regexper.com/](http://regexper.com/), myregexp [http://myregexp.com/]([http://myregexp.com/]), or whichever service you prefer. Also point them towards the quiz (episode five and six) as something they may move onto if they they finish the exercises early or look at after the workshop.
48+
49+
____
50+
# Potential Slides for Instructor
51+
52+
If you want, use the below as a basis for slides
53+
54+
## Where go to for help
55+
56+
*There are many places!*
57+
58+
### Stickers
59+
60+
### Helpers
61+
62+
### Sticky notes
63+
64+
### github.com/???
65+
66+
## Jargon Busting
67+
68+
### Teams of 5 or 6
69+
70+
### Write terms you want busting on stickies
71+
72+
### Cluster (retaining duplicates)
73+
74+
### Discuss and explain
75+
76+
### Note resolved terms
77+
78+
### Note unresolved terms
79+
80+
### Report back
81+
82+
## Foundations
83+
84+
### The Computer is Stupid
85+
86+
### Why automate
87+
88+
### Keyboard shortcuts are your friend
89+
90+
### Plain text formats are your friend
91+
92+
### Structuring files and folders
93+
94+
## Foundations
95+
96+
### The Computer is Stupid
97+
98+
#### ERROR
99+
100+
## Foundations
101+
102+
### Why automate?
103+
104+
#### Borrow, borrow, borrow
105+
106+
#### There is no correct language
107+
108+
#### Professional development
109+
110+
#### Knowing some code \~ evaluating software
111+
112+
#### Making time to do fun stuff!
113+
114+
#### Andromeda Yelton, "Coding for Librarians: Learning by Example", *Library Technology Reports* 51:3 (April 2015), [doi: 10.5860/ltr.51n3](http://dx.doi.org/10.5860/ltr.51n3)
115+
116+
## Foundations
117+
118+
### Why automate?
119+
120+
Credit: [Andy Kirk](https://twitter.com/visualisingdata/statuses/621957383464599552?tw_i=621957383464599552&tw_e=media&tw_p=archive)
121+
122+
## Foundations
123+
124+
### Keyboard shortcuts are your friend
125+
126+
### Efficiency and control
127+
128+
## Foundations
129+
130+
### Plain text formats are your friend
131+
132+
#### Computers process them better
133+
134+
#### Platform agnostic
135+
136+
#### Display orientated files aren't your friend
137+
138+
#### Markdown
139+
140+
## Foundations
141+
142+
### Structuring files and folders
143+
144+
#### Consistent and predictable data structure
145+
146+
#### Semantic-data hybrid directory names
147+
148+
#### Your own system is fine
149+
150+
#### Links files and directories with names
151+
152+
## You are the most likely person to forget what you once did!
153+
154+
## Regular Expressions
155+
156+
### Match on types of character
157+
158+
### Match patterns
159+
160+
### Capture the parts that match your pattern
161+
162+
## Regular Expressions
163+
164+
### `organi[sz]e`
165+
166+
#### organise (match)
167+
168+
#### organize (match)
169+
170+
#### reorganise (match part so will also find)
171+
172+
#### reorganize (match part so will also find)
173+
174+
## Regular Expressions
175+
176+
### `[ABC]` matches A or B or C.
177+
178+
### `[A-Z]` matches any upper case letter.
179+
180+
### `[A-Za-z0-9]` matches any upper or lower case letter or any digit.
181+
182+
## Regular Expressions
183+
184+
### `.` matches any character at all.
185+
186+
### `\d` matches any single digit.
187+
188+
### `\w` matches any part of word character.
189+
190+
### `\s` matches any space, tab, or newline.
191+
192+
### `\b` matches a word boundary.
193+
194+
### `^` asserts start of the line.
195+
196+
### `$` asserts end of the line
197+
198+
## Regular Expressions
199+
200+
### `^\[Oo\]rgani.e\b`
201+
202+
## Regular Expressions
203+
204+
### `*` matches proceeding character any number of times including zero.
205+
206+
### `+` matches proceeding character any number of times excluding zero.
207+
208+
### `?` matches the proceeding character one or zero times.
209+
210+
### `{VALUE,VALUE}` matches proceeding character a defined number of times.
211+
212+
### `|` simply means or.
213+
214+
## Regular Expressions
215+
216+
### `^[Oo]rgani.e\w\*`
217+
218+
## Regular Expressions
219+
220+
### `[Oo]rgani.e\w+$`
221+
222+
## Regular Expressions
223+
224+
### `^[Oo]rgani.e\w?\b`
225+
226+
## Regular Expressions
227+
228+
### `^[Oo]rgani.e\w?$`
229+
230+
## Regular Expressions
231+
232+
### `\b[Oo]rgani.e\w{2}\b`
233+
234+
## Regular Expressions
235+
236+
### `\b[Oo]rgani.e\b|\b[Oo]rgani.e\w{1}\b`

episodes/01-introduction.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: "Introduction to Library Carpentry"
3+
teaching: 15
4+
exercises: 0
5+
questions:
6+
- What do librarians gain from code?
7+
objectives:
8+
- Explain why software skills are valuable to librarians
9+
- Know where to go for help during Library Carpentry
10+
keypoints:
11+
- Don't be scared to ask for help
12+
---
13+
14+
## Overview
15+
16+
### Introduction
17+
18+
Welcome to Library Carpentry! This series of introductory workshops on software skills for librarians started life as an exploratory programme funded by the Software Sustainability Institute and supported by [Software Carpentry](http://software-carpentry.org/) and City University London. Thanks also go to the British Library and the University of Sussex where James Baker, who developed the workshops, worked when planning and delivering the workshops. The aim of Library Carpentry is to create a set of tools the community can manage, support, enrich, and reuse as it sees fit. Periodically during the sessions we will collect anonymous feedback that will go into improving the classes and ensuring that they best fit the evolving needs and requirements of the library and information science community.
19+
20+
The rationale for Library Carpentry is twofold. First, as Andromeda Yelton argues in her excellent [ALA Library Technology Report](http://journals.ala.org/ltr/issue/view/506) 'Coding for Librarians: learning by example', code is a means for librarians to take control of practice and to empower themselves and their organisation to meet user needs in flexible ways. Second, librarians play a crucial role in cultivating world class research. And in most research areas today world class research relies on the use of software. Librarians with software skills are then well placed to continue that cultivation of world class research.
21+
22+
### Where to go for help
23+
24+
First, identify people on your table who can help: you will all be working from the same material, so someone around you may have got mastered the point you are stuck at.
25+
26+
Second, there are helpers on hand to help if those around you can't. You should all have access to coloured sticky notes: attaching a red sticky note to your laptop indicates that you need help (it might also alert the attention of someone around you!). So, please use them.
27+
28+
Third, each part of Library Carpentry may require you to install software or download data. Breaks are a good time to ask for help.
29+
30+
Fourth, we encourage you to finish up or repeat tasks after class time: if you run into any problem, please report them on the relevant Github issues page (see the bottom of each lesson page for a link).
31+
32+
Most Library Carpentry lessons will require you to follow along whilst your instructor demonstrates a software tool or approach. Sometimes you will fall behind. If you do raise your red stick note and as a helper if we can slow the pace. Your issue may be specific to your computer. Computers are stupid, can frustrate, and as you all have different machines it can be tricky to resolve problems. Please be patient, particularly if your issue is local. Stepping outside and taking a gulp of fresh air always helps.

episodes/02-jargon-busting.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: "Jargon Busting"
3+
teaching: 15
4+
exercises: 30
5+
questions:
6+
- What terms, phrases, or ideas around code or software development have you come across and perhaps feel you should know better?
7+
objectives:
8+
- Explain terms, phrases, and concepts associated with terms, phrases, or ideas around code or software development in libraries
9+
- Compare knowledge of these terms, phrases, and concepts
10+
- differentiate between these terms, phrases, and concepts
11+
keypoints:
12+
- It helps to share what you know and don't know about software development and data science jargon
13+
---
14+
15+
## Jargon Busting
16+
17+
### Task
18+
19+
This group task is an opportunity for you to get help understanding terms, phrases, or ideas around code or software development in libraries that you've come across and perhaps feel you should know better.
20+
21+
- Start by getting into pairs.
22+
- Talk for 3 minutes (your instructor will be timing you!) on any terms, phrases, or ideas around code or software development in libraries that you've come across and perhaps feel you should know better.
23+
- Get into groups of 4-6.
24+
- Make a list of all the problematic terms, phrases, and ideas each pair came up. Retain duplicates. Then - taking common words as a starting point - spend 10 minutes working together to try to explain what the terms, phrases, or ideas means (note: use both each other and the internet as a resource!). Make a note of those your group resolves and those you are still struggling with.
25+
- Each group then reports back on one issue resolved by their group and one issue not by their group.
26+
- The instructor will collate these on a whiteboard and facilitate a discussion about what we will cover today and where you can go for help on those things we won't cover.

0 commit comments

Comments
 (0)