====== Proseminar „Programmierung in R“ ======
===== Beschreibung =====
Die interpretierte Programmiersprache R zeichnet sich durch eine hohe Abstraktion aus. So können bspw. komplexe mathematische Operationen mit einem Funktionsaufruf auf ausgewählte Teile einer Matrix angewendet werden.
Gleichzeitig werden eine Vielzahl von Paketen für typische Aufgaben bereitgestellt, was die Produktivität der Programmierer steigert. Dies lässt sich auch
anhand der Popularität der quelloffenen Programmiersprache im TIOBE Index sehen. Im Verlauf der letzen 10 Jahre hat sich die Verbreitung und Wichtigkeit der Programmiersprache stark erhöht [[http://www.tiobe.com/index.php/content/paperinfo/tpci/R.html|TIOBE Index für R]].
So ist R in einigen wissenschaftlichen Forschungsrichtungen, wie der Statistik und Bioinformatik, heute in der Praxis nicht mehr weg zu denken.
R kann darüber hinaus vielseitig eingesetzt werden.
Im Seminar werden wir wichtigste Funktionalität der Programmiersprache kennenlernen und
wichtige Pakete aus dem [[https://cran.r-project.org/|R Archiv Netzwerk]] besprechen.
Die Veranstaltung findet in deutscher Sprache statt (zu Lernzwecken können Ausnahmen vereinbart werden), das Lehrmaterial ist typischerweise in Englisch verfasst.
Beachten Sie auch unsere allgemeinen organisatorischen [[:teaching:organisatorische_hinweise:seminar_proseminar#proseminare|Hinweise zu Proseminaren]].
===== Zielgruppe =====
Das Projekt eignet sich für Studierende der Informatik in den Diplom- und Bachelorstudiengängen.
Studierende anderer Studiengänge müssen die Anrechnung mit dem jeweiligen Prüfungsausschuss klären.
Interessierte Zuhörer sind auch herzlich willkommen.
===== Daten der Veranstaltung =====
|| Zeit || Mittwoch, 10--12 Uhr ||
|| Ort || [[https://www.uni-hamburg.de/onTEAM/campus/index.html?loc=i12340438|DKRZ]], Raum 034 ||
|| Beginn || 06.04.2016 ||
|| Mailingliste || [[https://wr.informatik.uni-hamburg.de/listinfo/pir-16|PIR-16]] ||
===== Dozenten =====
* [[People:Alumni:Julian Kunkel]] (Ansprechpartner)
* [[People:Externals:Jakob Lüttgau]]
* [[People:Alumni:Eugen Betke]]
===== Themenliste =====
Die folgende Liste soll einen Eindruck vermitteln, welche Inhalte besprochen werden, die Liste wird in Kürze aktualisiert.
- Einführung in R
- Datenstrukturen
- Entwicklungsumgebungen bspw. RStudio
- Paketentwicklung mit devtools, testthat, roxygen2
- Nutzung von C++ Code mit Rcpp
- Plotten mit ggplot2
- Interaktive Web basierte Graphiken mit ggvis
- Reporting mit Shiny, Markdown
- Datenmanipulation mit plyr, dplyr, and reshape2
- R für Statistiker (+ ein paar Grundlagen der Statistik)
- Einführung und Verarbeitung von Zeitserien
- Funktionen und Formeln in R (Und Anwendung bspw. Modelle aus der Statistik)
- Maschinelles Lernen (Prediction: Klassifikation, Regression)
- Clusteranalyse
- Analyse von geographischen Daten (sp, maptools)
- Verarbeiten von (wissenschaftlichen) Daten (HDF5, NetCDF, XML)
- Sprachverarbeitung
- Data cleaning
- Lösen von Gleichungssystemen und symbolische Gleichungen
- HPC mit R (R + Rmpi + OpenMPI)
===== Zeitplan =====
Bei einem allgemeinen Einführungstermin werden Grundlagen vermittelt und die Themen zugewiesen.
Nach der Festlegung der Themen soll der Inhalt mit dem jeweiligen Betreuer diskutiert werden.
* **06.04.16** -- Einführung -- {{:teaching:sommersemester_2016:pir-einfuehrung.pdf|Folien}}
* 27.04.16 -- **(Vorsicht wir sind in Raum 023)**
* Einführung in R -- Michael Zwinkel ((Betreuer: Julian Kunkel)) -- {{:teaching:sommersemester_2016:-pir-16-michael_zwinkel-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-michael_zwinkel-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-michael_zwinkel-report.pdf|Bericht}}
* Datenstrukturen -- Dominik Scheinert ((Betreuer: Julian Kunkel)) -- {{:teaching:sommersemester_2016:-pir-16-dominik_scheinert-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-dominik_scheinert-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-dominik_scheinert-report.pdf|Bericht}}
* 04.05.16
* Entwicklungsumgebungen bspw. RStudio - Meik Dachs ((Betreuer: Jakob Lüttgau))
* Datenmanipulation mit plyr, dplyr, and reshape2 - Vu Hung Quan ((Betreuer: Jakob Lüttgau)) -- {{:teaching:sommersemester_2016:-pir-16-hung_quan-code.zip|Code}} {{:teaching:sommersemester_2016:pir-16-hung_quan-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:pir-16-hung_quan-report.pdf|Bericht}}
* 11.05.16
* R für Statistiker (+ ein paar Grundlagen der Statistik) - Benjamin Cordt ((Betreuer: Julian Kunkel))
* Einführung und Verarbeitung von Zeitserien - Isabella Tran ((Betreuer: Julian Kunkel)) -- {{:teaching:sommersemester_2016:-pir-16-isabella_tran-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-isabella_tran-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-isabella_tran-report.pdf|Bericht}}
* 18.05.16 -- **Termin fällt aus**
* 25.05.16 **(Vorsicht wir sind im Institut für Meereskunde (Bundesstraße 53), Raum 133 im 1. Stock (Treppe hoch, dann links vor dem Eingang zum MPI-M))**
* Verarbeiten von (wissenschaftlichen) Daten (HDF5, NetCDF, XML, JSON) - Ferrin Braatz ((Betreuer: Jakob Lüttgau))
* Plotten mit ggplot2 - Anne Kunstmann ((Betreuer: Jakob Lüttgau)) -- {{:teaching:sommersemester_2016:-pir-16-anne_kunstmann-code.7z|Code}} {{:teaching:sommersemester_2016:-pir-16-anne_kunstmann-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-anne_kunstmann-report.pdf|Bericht}}
* 01.06.16
* Funktionen und Formeln in R (Und Anwendung bspw. Modelle aus der Statistik) - Daniel Laskow ((Betreuer: Eugen Betke)) -- {{:teaching:sommersemester_2016:-pir-16-daniel_laskow-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-daniel_laskow-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-daniel_laskow-report.pdf|Bericht}}
* Maschinelles Lernen (Prediction: Klassifikation, Regression) - Sven Schmidt ((Betreuer: Eugen Betke))
* 08.06.16
* Clusteranalyse - Artjom Zink ((Betreuer: Eugen Betke))
* Lösen von Gleichungssystemen und symbolische Gleichungen - Kolja Hopfmann ((Betreuer: Eugen Betke)){{:teaching:sommersemester_2016:-pir-16-kolja_hopfmann-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-kolja_hopfmann-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-kolja_hopfmann-report.pdf|Bericht}}
* 15.06.16 **(Vorsicht wir sind in Raum 023)**
* Nutzung von C++ Code mit Rcpp (paralleler Code), optional parallel - Oliver Heidmann ((Betreuer: Julian Kunkel)) -- {{:teaching:sommersemester_2016:-pir-16-oliver_heidmann-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-oliver_heidmann-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-oliver_heidmann-report.pdf|Bericht}}
* Interaktive Web basierte Graphiken mit ggvis - Alexander Lunge ((Betreuer: Jakob Lüttgau)) -- {{:teaching:sommersemester_2016:-pir-16-alexander_lunge-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-alexander_lunge-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-alexander_lunge-report.pdf|Bericht}}
* 22.06.16 -- ** Termin fällt aus **
* 29.06.16 -- ** Termin fällt aus **
* 06.07.16
* Maschinelles Lernen - Nils Töllner ((Betreuer: Eugen Betke))
* Analyse von geographischen Daten (sp, maptools) - Tobias Nottelmann ((Betreuer: Julian Kunkel))
* Sprachverarbeitung - Carolin Graaf ((Betreuer: Eugen Betke))
* 13.07.16
* Data cleaning - Stefan Thieß ((Betreuer: Julian Kunkel)) -- {{:teaching:sommersemester_2016:pir-16-stefan_thieß-code.zip|Code}} {{:teaching:sommersemester_2016:pir-16-stefan_thieß-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:pir-16-stefan_thieß-report.pdf|Bericht}}
* Bildverarbeitung - Tobias Klinke ((Betreuer: Jakob Lüttgau)) -- {{:teaching:sommersemester_2016:-pir-16-tobias_klinke-code.zip|Code}} {{:teaching:sommersemester_2016:-pir-16-tobias_klinke-presentation.pdf|Präsentation}} {{:teaching:sommersemester_2016:-pir-16-tobias_klinke-report.pdf|Bericht}}
===== Literaturhinweise =====
* The Comprehensive R Archive Network: https://cran.r-project.org/
* Für Statistiker: https://cran.r-project.org/doc/contrib/Sawitzki-Einfuehrung.pdf
* https://cran.r-project.org/other-docs.html
* https://cran.r-project.org/web/views/
* http://www.heise.de/developer/artikel/Datenanalyse-mit-R-Teil-2-1847554.html