-
-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit d0189fa
Showing
20 changed files
with
1,097 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
--- | ||
title: Jargon Busting | ||
teaching: 15 | ||
exercises: 30 | ||
--- | ||
|
||
::::::::::::::::::::::::::::::::::::::: objectives | ||
|
||
- Explain terms, phrases, and concepts associated with software development in libraries. | ||
- Compare knowledge of these terms, phrases, and concepts. | ||
- Differentiate between these terms, phrases, and concepts. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
:::::::::::::::::::::::::::::::::::::::: questions | ||
|
||
- What terms, phrases, or ideas around code or software development have you come across and feel you should know better? | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
::::::::::::::::::::::::::::::::::::::: challenge | ||
|
||
## Jargon Busting | ||
|
||
This exercise is an opportunity to gain a firmer grasp on the concepts around data, code or software development in libraries. | ||
|
||
1. Pair with a neighbor and decide who will take notes (or depending on the amount of time available for the exercise, skip to forming groups of four to six). | ||
2. Talk for three 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. | ||
3. Next, get into groups of four to six. | ||
4. Make a list of all the problematic terms, phrases, and ideas each pair came up with. Retain duplicates. | ||
5. Identify common words as a starting point - spend 10 minutes working together to try to explain what the terms, phrases, or ideas on your list mean. Note: use both each other and the internet as a resource. | ||
6. Identify the terms your groups were able to explain as well as those you are still struggling with. | ||
7. Each group then reports back on one issue resolved by their group and one issue not resolved by their group. | ||
8. 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. Any jargon or terms that will not be covered specifically are good notes. | ||
|
||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
::::::::::::::::::::::::::::::::::::::::: callout | ||
|
||
## Busting Tips | ||
|
||
Often, workshop attendees ask if there is a handout of common terms and definitions as there is not enough time to explain all the terms in a jargon busting exercise. Many of the terms are covered in our lessons such as Application Programming Interface (API), regular expressions, terminal, git... but with so much [variation between our jargon busting sessions](https://twitter.com/search?q=jargon%20libcarpentry&src=typed_query&f=live), it is difficult to create a common handout. You can start with resources such as [TechTerms](https://techterms.com/category/technical) or the [Data Thesaurus](https://nnlm.gov/data/thesaurus) but you may also need to use the internet to explain terms. The [Sideways Dictionary](https://sidewaysdictionary.com) is another great place to get examples of jargon explained in plain English. | ||
|
||
Keep in mind that our goal is not to explain all the terms we list out in the exercise, but instead to highlight how much jargon we use in our daily work and to come up with a shared understanding for a select number of jargon terms. | ||
|
||
If you do have a helpful handout that you would like to share, please submit an [issue/pull request](https://github.com/LibraryCarpentry/lc-data-intro) to this lesson. | ||
|
||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
:::::::::::::::::::::::::::::::::::::::: keypoints | ||
|
||
- It helps to share what you know and don't know about software development and data science jargon. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
--- | ||
title: A computational approach | ||
teaching: 10 | ||
exercises: 20 | ||
--- | ||
|
||
::::::::::::::::::::::::::::::::::::::: objectives | ||
|
||
- Understand the main lessons of why you might automate your work. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
:::::::::::::::::::::::::::::::::::::::: questions | ||
|
||
- Why take an automated or computational approach? | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
### Why take an automated or computational approach? | ||
|
||
Otherwise known as the 'why not do it manually?' question. There are plenty of times when manual work is the easiest, fastest and most efficient approach. Here are two conditions that should make you consider using automation: | ||
|
||
- You know how to automate the task. | ||
- You think this is a task you will do over and over again. | ||
|
||
Main lessons: | ||
|
||
- **Borrow, borrow, and borrow again**. This is a mainstay of programming and a practice common to all skill levels, from professional programmers to people like us hacking around in libraries; | ||
- **The correct language to learn is the one that works in your local context**. There truly isn't a best language, just languages with different strengths and weaknesses, all of which incorporate the same fundamental principles; | ||
- **Consider the role of programming in professional development**. Computational skills improve your efficiency and effectiveness. Stay alert to skills you want to learn, and be aware of what skills you can make sure your staff learn, as well. | ||
- **Knowing (even a little) code helps you evaluate projects that use code**. Programming can seem alien. Knowing some code makes you better at judging the quality of software development or planning activities that include software development. | ||
- **Automate to make the time to do something else!** Taking the time to gather together even the most simple programming skills can save time to do more interesting stuff! (even if often that more interesting stuff is learning more programming skills ...) | ||
|
||
**Why automate?** | ||
|
||
Automation refers to a process or procedure that runs with little to no supervision or action. Libraries have been automating workflows for years and many of the Library Carpentry lessons can help people in libraries consider and implement automation approaches to further those efforts. You may often receive reports that you have to manually format or bibliographies where you have to clean metadata. If this sounds familiar, the tools and approaches introduced in Library Carpentry will help you automate and spend less time on these activities. | ||
|
||
![](files/is_it_worth_the_time.png){alt='Is it worth the time'} | ||
|
||
'Is it worth the time?' by Randall Munroe available at [https://xkcd.com/1205/](https://xkcd.com/1205/) under a Creative Commons Attribution-NonCommercial 2.5 License. | ||
|
||
:::::::::::::::::::::::::::::::::::::: discussion | ||
|
||
## Is there something you would like to automate in your work? | ||
|
||
Discuss in groups of four to six or altogether and note your discussion in the workshop collaborative document. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
:::::::::::::::::::::::::::::::::::::::: keypoints | ||
|
||
- The main lessons of why you might automate or take a computational approach can help guide you as you consider whether to automate or not. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
title: Keyboard shortcuts | ||
teaching: 10 | ||
exercises: 10 | ||
--- | ||
|
||
::::::::::::::::::::::::::::::::::::::: objectives | ||
|
||
- Learn commonly used keyboard shortcuts as a time saving tool. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
:::::::::::::::::::::::::::::::::::::::: questions | ||
|
||
- What are keyboard shortcuts? | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
### Keyboard shortcuts are your friend | ||
|
||
Though we will get more computational over the course of the programme, we can start our adventure into programming - as many of you will have already - with very simple things like keyboard shortcuts. We all have our favourites that are labour saving but also allow us to use this machine in the best possible way. You can do all the lessons in Library Carpentry without keyboard shortcuts, but note that they'll likely come up a lot. | ||
|
||
| Action | Windows | Mac | \+ Keystroke | | ||
| ------------------- | ------- | ------- | ----------- | | ||
| Save | <kbd>Ctrl</kbd> | <kbd>Command</kbd> | \+ <kbd>S</kbd> | | ||
| Copy | <kbd>Ctrl</kbd> | <kbd>Command</kbd> | \+ <kbd>C</kbd> | | ||
| Cut | <kbd>Ctrl</kbd> | <kbd>Command</kbd> | \+ <kbd>X</kbd> | | ||
| Paste | <kbd>Ctrl</kbd> | <kbd>Command</kbd> | \+ <kbd>V</kbd> | | ||
| Switch Applications | <kbd>Alt</kbd> | <kbd>Command</kbd> | <kbd>Tab</kbd> | | ||
|
||
Keyboard shortcuts are the first step towards automation. Sometimes you don't have to write a programming script or use a program to automate. | ||
|
||
:::::::::::::::::::::::::::::::::::::: discussion | ||
|
||
## What keyboard shortcut(s) do you find helpful? | ||
|
||
Discuss in groups of four to six or altogether and note your discussion in the workshop collaborative document. For a list of common keyboard shortcuts, see [Wikipedia's Table of Keyboard Shortcuts](https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts). | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
:::::::::::::::::::::::::::::::::::::::: keypoints | ||
|
||
- Understanding keyboard shortcuts. | ||
- Keyboard shortcuts are the first step towards automation. | ||
|
||
:::::::::::::::::::::::::::::::::::::::::::::::::: | ||
|
||
|
Oops, something went wrong.