Department pages
Search:

Fortgeschrittene Programmierung
Winter 2016/2017

Leitung: Dr. Fabian Scheipl
Zeit:Mittwoch, 14h-16h
Ort:BWL-CIP Ludwigstr. 28, Rückgebäde-023 Karte [pdf]

Aktuelles:

  • 1.2.
    Am 8.2. werden wir 4 Kurzreferate zu "Regular Expressions in base-R", "data.table", "tidyr" und "xts" hören, danach wird Gelegenheit sein evtentuelle Unklarheiten bei der Angabe der Hausübung zu besprechen...
  • 14.12.
    Ab Mittwoch, 21.12. sind wir wieder im CIP-Pool des Statistik-Instituts.
  • 25.10.
    Falls Sie Probleme haben die Videos in Firefox oder Safari anzusehen: Mit Chrome bzw. Chromium funzts, sonst halt bitte die Videos runterladen und im Mediaplayer Ihrer Wahl öffnen.

Inhalt:

Statistik wird in immer größerem Ausmaß zu einer computationalen Wissenschaft, besonders die angewandte Statistik kommt ohne den Einsatz und die Beherrschung moderner Software-Werkzeuge nicht aus. Diese Lehrveranstaltung dient der Vertiefung von Programmmierkenntnissen speziell in R und richtet sich an Studierende, die bereits erste Erfahrungen mit dieser Sprache gesammelt haben (z.B. in der LVA "Einführung in die statistischen Programmpakete, Programmierung in R", "Praktische Datenanalyse mit R" oder auch im Selbststudium).
Aufbauend auf vorausgesetzten grundlegenden R-Kenntnissen werden Programmiertechniken vermittelt mit denen sich das komplexe Werkzeug R effizient bedienen läßt.
Vorkenntnisse in Statistik im Ausmaß der Grundvorlesungen sind erforderlich, Kenntnisse in andereren Programmiersprachen als R sind nicht notwendig.

Themen:

  • Guter Codingstyle: Prinzipien für sauberen, lesbaren Programmcode
  • Algorithmisches Denken: Programmkonzeption & Top-Down-Programming
  • Funktionen, Scoping & Environments
  • Debugging & Profiling
  • Objekt-orientiertes Programmieren in R
  • R-Pakete bauen mit roxygen2, devtools & testthat
Weitere Themen eventuell -- je nach Interesse -- aus:
  • Einlesen & Bereinigen von Datensätzen: regular expressions, "tidy data"-Ansatz, SQL-Schnittstellen
  • Umgang mit großen Datenmengen: Benutzung von dplyr & data.table, ffbase, bigmemory
  • Parallelisierung: SNOW, multicore, rmpi via foreach, BatchJobs, partools, ...
  • Professionelle Grafiken mit R: grid, ggplot2, ggmap
  • Reproduzierbare Analysen: knitr, shiny, RProjectTemplate
  • Versionskontrolle & kollaboratives Coden mit Github


Themen

Datum Thema Ort
19.10.2016 Organisatorisches; Wiederholung & Einführung BWL-CIP
26.10.2016 Programmierstil & Programmentwurf BWL-CIP
02.11.2016 Funktionen, Scoping & Environments BWL-CIP
09.11.2016 Debugging & Profiling BWL-CIP
16.11.2016 Übung & Besprechung BWL-CIP
23.11.2016 Übung & Besprechung BWL-CIP
30.11.2016 Objekt-Orientierte Programmierung: S3 BWL-CIP
07.12.2016 Objekt-Orientierte Programmierung: S4 BWL-CIP
14.12.2016 R Pakete: Struktur BWL-CIP
21.12.2016 R Pakete: Entwicklung CIP 042
11.01.2016 Übung & Besprechung CIP 042
18.01.2017 Computing on the Language: Non-Standard Evaluation CIP 042
25.01.2017 Computing on the Language: Metaprogramming CIP 042
01.02.2017 Git & Github CIP 042
08.02.2017 Kurzreferate; Besprechung CIP 042

Material:

Wann? Was? Links
19.10.2016 Folien [html], [pdf]
Selbsttest [pdf], [Rmd]
Musterlösung Selbsttest [pdf], [R]
Übungsblatt 1 [pdf]
Musterlösung Blatt 1 [pdf], [R]
19. - 26.10.2016 Folien "Programmentwurf" [html], [pdf], Video 1 [mp4], Video 2 [mp4]
Folien "Stability Selection" [html], [pdf], Video [mp4]
Code & Aufgabenblatt "Stability Selection" [zip]
Musterlösung "Stability Selection" [pdf], [R]
27.10. - 02.11.2016 Folien "Funktionen" [html], [pdf], Video [mp4]
Folien "Environments & Scoping" [html], [pdf], Video [mp4]
Übungsblatt 3 [pdf]
Musterlösung Blatt 3 [pdf], [R]
03. - 09.11.2016 Folien "Debugging" [html], [pdf], Video [mp4]
Folien "Profiling" [html], [pdf], Video [mp4]
Übungsblatt 4 [pdf]
Musterlösung Blatt 4 [pdf], [R]
10. - 16.11.2016 Rechnerübung 1 [pdf]
Musterlösung dazu [pdf], [R]
17. - 23.11.2016 Rechnerübung 2 [pdf]
Musterlösung dazu [pdf], [R]
24.11. - 07.12.2016 Folien "Objekt-Orientierte Programmierung in R" [html], [pdf], Basistypen, S3 [mp4], S4 [mp4]
Übungsblatt 5 [pdf]
Musterlösung 5 [pdf], [R] & [mehr R]
8. - 14.12.2016 Folien "R Pakete: Struktur" [html], [pdf], Video [mp4]
Übungsblatt 6 [pdf]
15. - 21.12.2016 Folien "Dokumentation mit roxygen2" [html], [pdf], Video [mp4]
Folien "devtools & testthat" [html], [pdf], Video [mp4]
Übungsblatt 7 [pdf]
Musterlösung 7 [pdf]
22.12.2016 - 11.01.2017 Rechnerübung 3 [pdf]
Lösung Rechnerübung 3 [pdf], [promillo_0.1.0], [ribidibicubuloubouspabackabage_0.1.0], [animals4_0.1.0]
12. - 25.01.2017 Folien "Non-Standard Evaluation" [html], [pdf], Video [mp4]
Folien "Metaprogramming: Calls and Expressions" [html], [pdf], Video [mp4]
Übungsblatt 8 [pdf]
Musterlösung 8 [pdf], [zipped R]
25.01. - 01.02.2017 Folien "Git" [html], [pdf], [mp4]
Übungsblatt 9 [pdf]

Scheinerwerb:

Eine benotete Hausübung findet während des Semesters statt, eine am Ende des Semesters.

Die Endnote setzt sich gewichtet (1:2) aus den beiden Hausübungen zusammen. Nicht abgegebene Hausübungen werden mit "5,0" gewertet.

Für die erste Hausübungen ist Gruppenarbeit von bis zu drei Personen zulässig und erwünscht. Alle Gruppenmitglieder bekommen die selbe Benotung für das jeweilige Blatt.

Eine verbindliche Anmeldung zur Vorlesung (d.h. Scheinerwerb) erfolgt mit Abgabe einer Hausübung. Mit einem freiwilligen Kurzreferat zu einem R-Paket können bis zu 10 Bonuspunkte für die 2. Hausübung erworben werden.

Hausübung Angabe Abgabe
Hausübung 1 (Teamarbeit) [zip] 30.11.2016
Hausübung 2 (nur einzeln) [pdf] 15.03.2017

Lektüre und Web-Ressourcen


Impressum    Datenschutz    Last Modification: ,