SoSe19 AK Programmierkenntnisse

Aus ZaPFWiki

Vorstellung des AKs

Verantwortliche/r: Daniel, eNik

Austausch (kurz) und offene Diskussion zum Thema Programmierkenntnisse im Physikstudium.

Da es aktuell einige Ideen und Umbrüche im Bezug auf Programmierkenntnisse im Physik-Studium gibt, möchten wir dazu Ideen diskutieren. Erst einmal geht es darum abzuklären, wie es aktuell an anderen Unis läuft (max. 30min) und dann eine offene Diskussion über die Sinnhaftigkeit und die genaue Umsetzung (Pflicht?. MA oder BA?, ...) zu machen.

Arbeitskreis: AK Programmierkenntnisse

Protokoll vom 09.06.2019

Beginn
16:30 Uhr
Ende
18:12 Uhr
Redeleitung
Daniel Kazenwadel (Konstanz)
Protokoll
Niklas Westermann (Konstanz)
Anwesende Fachschaften
Uni Würzburg
LMU München
Uni Bielefeld
TU Ilmenau
Uni Göttingen
Uni Jena
Uni Stuttgart
Uni Duisburg
TU München
TU Bayreuth
Uni Düsseldorf
Uni Darmstadt
Uni Tübingen
Uni Freiburg
Uni Rostock
Uni Saarbrücken
FU Berlin


Wichtige Informationen zum AK

  • Ziel des AK: Offene Diskussion, evtl. Positionspapier, Reso bei großem Interesse, sonst eher Folge-AK
  • Handelt es sich um einen Folge-AK: nein
  • Materialien und weitere Informationen: Nicht, dass wir wüssten
  • Wer ist die Zielgruppe?: Alle, generell Leute, die sich schonmal mit Programmieren beschäftigt haben, aber auch Meinung von Menschen ohne Programmier-Ahnung sind willkommen
  • Wie läuft der AK ab?: Kurze Sammlung des aktuellen Stands, danach Diskussion
  • materielle (und immaterielle) Voraussetzung: Hirn, evtl. die PO der eigenen Uni


Einleitung/Ziel des AK

s. o.

Protokoll

Auflistung der möglichen Formen von Programmierkursen

Wir fragen jede Uni, was für Vorlesungen und Übungen stattfinden. Diese sind hier gesammelt.

Wahlpflicht:

  • Grundlagen der Programmierung (BA)
  • Programmierpraktikum für Studis der NatWiss. (BA)
  • Kurs Einführung in C++ (BA)
  • Computational Physics für höhere Semester (BA)
  • Umgang mit Plot-Programmen in höheren Grundpraktika (BA)
  • Pflichtpraktika, die Programmierkenntnisse voraussetzen
  • Block vor Grundpraktikum (LaTeX, GnuPlot, Octave)
  • Computergrundlagen (LaTeX, Pyhton, Linux,...)
  • Schlüsselqualifikation Matlab
  • Physik auf dem Computer (Algorithmen = Programmieren)
  • Computational Biophysics (Julia)
  • Einführung in die Wissenschaftl. Programmierung
  • Weitergehende Einführung in C++
  • Numerische Simulation
  • Teilweise Anhänge an einzelne Vorlesungen
  • Python-Kurs
  • Java-Kurs
  • Fachfremd, Wahlfächer, Informatik Nebenfach
  • Berufsorientierte Nebenfächer
  • Molekularsimulation
  • Überlegung in eine Übergreifende Ausbildung

Pflicht

  • Programmierübung ohne VL mit Matlab
  • Modellierung mathematischer Systeme mit bel. Sprache
  • Blockkurse (C/Python)
  • Computergestütztes Wissenschaftl. Rechnen
  • Computational Physics 1 (weitere Wahlpflicht)
  • Mathematica mit Theo-VL
  • Python mit Theo-VL
  • Computersimulation
  • Fortran (VL+Übung) im 4.
  • Wissenschaftliches Programmieren (Python als Jupiter-Notebook)
  • Computerphysik (MA)
  • Einführung in die Programmierung

Unis mit Pflichtprogramm: 8 Unis, die das sinnvoll finden: 7

Unis, die ein Pflichtprogramm sinnvoll finden: 8 Von denen, die keins haben, wer hätte gerne eins: 9

Ziel des AKs

Daniel stellt die Frage nach dem Ziel, damit wir darüber diskutieren können.

Würzburg: erstmal eine Sammlung der Punkte, um in Zukunft (evtl.) eine Reso erstellen zu können.

Duisburg: Das Positionspapier reicht erst einmal.

Würzburg: Einige Unis haben es schon, wir brauchen nicht nochmal etwas schicken.

LMU: Es gibt ein sehr großes Feld an angeboten Kursen, eine Sammlung ist sinnvoller.

Zwischenfrage: Wer von den Unis, an denen es verpflichtend ist, denkt, dass es noch nicht reicht?

2 sind dieser Meinung, dem Rest reicht es ungefähr aus.

Zwischenfrage: Wer kann sich Informatik anrechnen lassen? - Viele

Schlechte Beispiele für Programmierkurse

  • Ilmenau: Sehr frontale Übung keine Anwendung
  • Bayreuth: Fortran nützt nichts für die praktische Anwendung


Überlegung, was genau wir aufschreiben? Ist das was in der Reso drinsteht sinnvoll und wird dies angewandt?.

Düsseldorf: Überlegung über Einführung eines PK. Inhalt: Das was im Positionspapier steht.

Fragen für den Wiki-Eintrag

Frage: Wer hat ein schönes Beispiel für die Umsetzung?

  • Duisburg: Python-VL im Computerraum mit direkten Übungen, die Nachfragen zulassen. Danach Übungsblätter mit Vorstellung in Gruppen, dabei sind die Schritte jedoch recht groß, was Abschreiben begünstigt und den Lerneffekt verringert. Mathematica-VL mit direkten Übungsblättern.


Frage: Gibt es Unis, die die VL von den Informatikern machen lassen?

  • TU München: Funktioniert nicht so gut.

Frage: Wie sieht eine sinnvolle Übung aus?

  • Uni Saarbrücken: Zusammen wöchentliche Pflicht-Übungen mit Tutoren im CIP-Pool lösen.
  • Uni Düsseldorf: Übungsblätter, aber auch praktische Übungen (alle paar Wochen, Anwesenheitsaufgaben) mit anwesendem Tutor

Frage: Gibt es Unis, die Programmieren im Praktikum haben?

  • Ilmenau: Comsol in einem Versuch im Pratikum
  • Fünf Unis haben im FP einen Versuch, in dem simuliert werden muss. *Darmstadt* darf optische Strahlengänge simulieren
  • Es ist wichtig zwischen simulieren und programmieren zu unterscheiden

Frage: Welches Ausmaß sollte eine Vorlesung haben? Sollte es benotet werden?

  • Vorschlag: 4SWS mit ungefährer Aufteilung in 2 Übung und 2 Vorlesung (allg. Zustimmung). Das Ganze für ein Semester
  • Ilmenau: Am besten ungefähr ab dem 3. Semester, wenn man sich eingefunden hat und die passende theoretische Physik schon hatte.
  • Konstanz: Dann hat man das Praktikum ohne Kentnisse - diese braucht man jedoch nicht und wertet nur Daten aus (allg. Zustimmung)
  • Duisburg: Als Alternative ist eine Verstetigung von 2SWS für mehrere Semester möglich.
  • Oder es könnte über die Übungsblätter in den GrundVL verstetig werden
  • Duisburg: Unbenotet, da Hemmungen für das Holen von Hilfe deutlich geringer sind (viel Zustimmung)
  • Saarbrücken: Benotet, jedoch nur ein Abschlussprojekt
  • Ilmenau: Voraussetzung für Vorlesung theoretische Physik

Frage: Was sollte (nicht) Inhalt dieser Vorlesung sein?

  • Daten einlesen (viele dafür, ein paar dagegen, letztere mit dem Grund, dass Daten einlesen ein Werkzeug ist)
  • Duisburg Aus dem Positionspapier 'Versionierung und Kompilierung' braucht man nicht unbedingt in den Grundlagen.


Diskussion darüber, ob man überhaupt einen verpflichtenden Programmierkurs braucht:

  • Manche Programmierkurse sind zu anwendungsspezifisch (con)
  • Professoren setzen Programmierkenntnisse voraus (pro)
  • Allgemeine PKs können sehr grundlegend gehalten werden (pro)
  • Das Lernen und die Anwedung könnten zweitlich sehr weit auseinander liegen, man vergisst alles (con)
  • Noch eine Pflichveranstaltung könnte die Studierenden mehr belasten (con)
  • Es könnte schwierig werden, einen PK auf eine heterogene Zielgruppe abzustimmen (con)
  • Programmieren in der Physik ist optional (pro)
  • Im Praktikum braucht man sehr häufig das Programmieren (pro)
  • Programmieren lernen über das gesamte Grundstudium sind ein hoher Arbeitsaufwand, abschreiben ist einfach (con)
  • Wenn die Übung nicht jede Woche ist, ist der Umfang jedoch nicht so groß (pro)
  • Häufig ist der persönliche Aufwand, wenn man sich mit dem Thema schon auskennt, sehr gering, aber Menschen mit weniger Kenntnissen können deutlich länger brauchen (con)

Frage: Ist das Lernen von programmieren in den GrundVL sinnvoll?

  • Duisburg: Grundlagen fehlen, einfach abzuschreiben
  • Freiburg: Zusätzliche Belastung ist von den Profs schwer einzuschätzen
  • Ilmenau: Zum Vorlesungsstoff passende Programmieraufgaben sind häufig zu schwierig (z.B. Doppelpendel)

Frage: Wie kann das Gelerne sinnvoll behalten werden?

  • Verstetigung der Übungen
  • Anwedung in den Vorlesungen
    • Frage:** Gehört LaTeX zum Programmieren?
  • Die allgemeine Meinung sagt nein!

Frage: Welcher Modus ist sinnvoll (Übung, Korrektur,...)?

  • Freiburg* 'Vorrechnen' ist wenig sinnvoll. Übungsblätter zum Zuhause lösen und nicht verpflichtende (anm. Würzburg) Tutorien mit anwesendem Tutor, der aber nur unterstützend eingreift (allg. Zustimmung). Lösungen evtl. online veröffentlichen und gesondert korrigieren. Zur Kontrolle wird der Code mit dem Tutor in einem längeren Gespräch durchgesprochen. Betreuer sind Studierende, die sich auskennen. 'Vorrechen' ist schwierig, da es viel Zeit frisst.
  • Ilmenau: Programmieren ist 'Learning by doing' - dies sollte in den Übungen und Vorlesungen beachten werden
  • Duisburg: Vorlesungen eher zum theoretischen Teil (Numerik, Modellierung), Profs fangen an und studentische Hilfskräfte sind als Tutoren dabei
  • Freiburg: Live-Programmierung ist sehr anschaulich (z.B. Fehler nachvollziehbar)
  • Stuttgart: Digitale Aufgaben mit unterschiedlichen Werten, digitale Abgabe des Codes
  • LMU München: In der Übungsgruppe Diskussion nur über die schwierigste Stelle im Code. Abgabe über Schnittstelle, die die Funktionsfähigkeit über zufällige Werte testet.
  • Duisburg: Korrektur über testen und plotten von Werten. Sonst überfliegen des Codes auf schwere andere Fehler
  • Ilmenau: Zur Information ein Blick auf die Effizienz

Frage: Was ist eine sinnvolle Prüfungsform?

  • Berlin: Projektarbeit als Hausarbeit. Vorteil ist ein zusätzlicher vertiefender Einblick
  • Duisburg: Kleinere Projekte sind auch in zwei-wöchentlichem Abstand möglich
  • LMU München: Es gibt auch Prüfungen, bei denen auf Papier gecoded werden soll (allg. Ablehnung)

Frage: Funktioniert das Programmierung an die TheoVL angelehnt

  • Duisburg: Eigene Übung, die den Stoff der Theorievorlesung aufgreift (allg. Zustimmung)

Zusammenfassung

  • Ein Semester PK mit 4SWS
  • Leitung durch HiWi oder Doktorand
  • Übungen ohne Anwesenheitspflicht
  • Korrektur auf Funktion und Hinweise zur Effizienz
  • Danach Übungen, die in die Theorievorlesungen oder Praktika eingebaut werden sollen


Praktikumsversuche

Düsseldorf: Monte-Carlo Simulation(http://www.thphy.uni-duesseldorf.de/~ls4/Praktikum/fpversuch.html) Weiche Materie(Computersimulationen, numerische Verfahren)

Duisburg: AP-Anleitungen

Zusammenfassung

Links

Hier bitte überlegen ob der AK in eine Kategorie einordbar ist (KaOS oder Kategorien-Liste).
Falls nicht kann die Sonstige Kategorie verwendet werden ([1]).