# Library Carpentry 2020-01-27/2020-01-28 @ ZB MED
- [ ] Link zu diesem pad: https://hackmd.io/S1pVRnC_R8anvJ9yETW-4A
- [ ] kürzerer link zu diesem pad: https://bit.ly/2QRYT7n
- [ ] Vorstellung der Instructor und Helfer
- [ ] Anrede
- [ ] Vorstellung der Teilnehmer*innen
- [ ] Was sind "The Carpentries"
- [ ] Motivation für die Carpentry workshops
- Automatisierung
- Reproduzierbarkeit / Transparenz
- größere Handlungsfähigkeit
- [ ] Lebenslanges Lernen
- [ ] Kennenlernspiel (Ice breaker) - Beteiligte nach Eigenschaften aufstellen
- [ ] Klebezettel (Sticky notes)
- [ ] Bitte bei Unklarheiten sofort fragen; Es gibt kein doofen Fragen.
- [ ] Verhaltenskodex https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html => Seid nett zu einander (Be excellent to each other!)
- [ ] Fotos und Twitter?
- [ ] Wifi
- [ ] Pausen
- [ ] Kaffee/Tee
- [ ] Sanitäre Einrichtungen/Toiletten
- [ ] GitHub account eingerichtet?
- [ ] Pad erklären
- [ ] Übung - eigenen Namen zur Teilnehmerliste hinzufügen
- [ ] Kursmaterialien
- [ ] Kurzreferenzen
- [ ] Überblick:
- Git: Software für die Versionierung von Dateien/Projekten
- GitHub/GitLab: Onlinedienste für die Speicherung von Dateien/Projekten
- Python: Eine Programmiersprache
- Shell/Bash: kommandozeilen-basierte Schnittlstelle zwischen Mensch und Maschine (Computer)
## TeilnehmerInnen
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
- Teilnehmer*in
## Offizielle Library Carpentry-Lektionen
- [Shell](https://librarycarpentry.org/lc-shell/)
- [Git](https://librarycarpentry.org/lc-git/)
- [Python](https://librarycarpentry.org/lc-python-intro/)
## Shell
- [Übungsdaten](https://raw.githubusercontent.com/librarycarpentry/lc-shell/gh-pages/data/shell-lesson.zip)
## Git
- [GitHub Anmeldung](https://github.com/join)
## Python- [Pandas Cheat Sheet](https://github.com/pandas-dev/pandas/blob/master/doc/cheatsheet/Pandas_Cheat_Sheet.pdf)
- [Python-Kurzreferenz](https://github.com/foerstner-lab/Bits_and_pieces_for_the_carpentries_workshops/blob/master/cheat_sheets/python_de.md)
- [Python Cheat Sheet extended](https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_all.pdf)
- [PEP 8](https://www.python.org/dev/peps/pep-0008/)
- [The 35 Words You Need to Python](https://yawpitchroll.com/posts/the-35-words-you-need-to-python/)
- [Python built-ins worth learning](https://treyhunner.com/2019/05/python-builtins-worth-learning/)
### CSV-Übung
* TSV-Datei raw: https://raw.githubusercontent.com/foerstner-lab/Bits_and_pieces_for_the_carpentries_workshops/master/plain_text_file_examples/DOIs_PMIDs_PubYears.
```
tsv_url = "https://raw.githubusercontent.com/foerstner-lab/Bits_and_pieces_for_the_carpentries_workshops/master/plain_text_file_examples/DOIs_PMIDs_PubYears.tsv"
```
### OpenAPC-Übung
* html: https://github.com/OpenAPC/openapc-de/blob/master/data/fuberlin/APC_FU_Berlin_2015.csv
* Raw: https://raw.githubusercontent.com/OpenAPC/openapc-de/master/data/fuberlin/APC_FU_Berlin_2015.csv
```
open_apc_url = "https://raw.githubusercontent.com/OpenAPC/openapc-de/master/data/fuberlin/APC_FU_Berlin_2015.csv"
```
### DOI-Metadaten-Übung
https://api.crossref.org/works/
```
# Einzelner DOI
10.1371/journal.pcbi.1004668
```
```
# Liste mit DOIs
dois = ["10.1371/journal.pcbi.1004668",
"10.21105/joss.01035",
"10.1038/35057062",
"10.21105/joss.01006"]
```
### Fertige Lösungen zu den Übungen
- [OpenAPC-Analyse mit Pandas](https://github.com/konrad/Bits_and_pieces_for_the_carpentries_workshops/blob/master/python/Intro_to_pandas_with_OpenAPC_data.ipynb)
- [Metadaten von CrossRef beziehen](https://github.com/foerstner-lab/Bits_and_pieces_for_the_carpentries_workshops/blob/master/python/Metadata_via_DOI_from_CrossRef.ipynb)
### Wie man Python in Windows startet
In der Bash
ZBMED-Konfiguration:
```
$ /c/ProgramData/Anaconda3/python
```
ZBIW-Konfiguration:
$ winpty /c/Users/SWCarpentry/Anaconda3/python.exe
Oder die Anaconda Prompt benutzen
### Links
- [Python 3 Quick Tip: The easy way to deal with file paths on Windows, Mac and Linux](https://medium.com/@ageitgey/python-3-quick-tip-the-easy-way-to-deal-with-file-paths-on-windows-mac-and-linux-11a072b58d5f)
### Leseempfehlungen
- [Automate boring stuff with Python](https://automatetheboringstuff.com/)
## Wie es nach dem LC-Workshop weiter geht:
- Git Bash und Anaconda auf dem eigenen Rechner installieren (gegebenenfalls IT-Abteilung fragen)
- Einen guten Text-Editor finden - ein paar Empfehlungen:
1) [PyCharm](https://www.jetbrains.com/pycharm/)
2) [Spyder](https://www.spyder-ide.org/)
3) [Atom](https://atom.io/)
4) [Emacs](https://www.gnu.org/software/emacs/)
5) [Geany](https://www.geany.org/)
6) ... [viele mehr](https://en.wikipedia.org/wiki/List_of_text_editors)
- Lektionen selbstständig reproduzieren
- kleine alltägliche Aufgabe finden, die man mit Hilfe des Gelernten lösen kann, so das sie automatisch abläuft
- [HackyHour](https://hackyhour.github.io/Cologne/) organisieren
- Bei Problemen melden (wir helfen gerne falls möglich)
## Installationsanleitung für Anaconda und GitBash
- https://zbmed.github.io/2019-XX-XX-Library_Carpentry_XXXXXXXXXXXXXXXX
### Alternative zu Anaconda
Auf https://mybinder.org/ unter "GitHub repository name or URL" folgende URL eintragen: https://github.com/foerstner-lab/Bits_and_pieces_for_the_carpentries_workshops und dann unter "Path to a notebook file"
folgenden Dateinamen eingeben: empty_jupyter_notebook_for_binder.ipynb
Danach auf "launch" klicken.