SoSe19 AK Programmierkenntnisse: Unterschied zwischen den Versionen
ENik (Diskussion | Beiträge) |
ENik (Diskussion | Beiträge) |
||
Zeile 153: | Zeile 153: | ||
'''Frage:''' Was sollte (nicht) Inhalt dieser Vorlesung sein? | '''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) | * 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. | ||
Zeile 182: | Zeile 182: | ||
'''Frage:''' Welcher Modus ist sinnvoll (Übung, Korrektur,...)? | '''Frage:''' Welcher Modus ist sinnvoll (Übung, Korrektur,...)? | ||
* ''Freiburg''* 'Vorrechnen' ist wenig sinnvoll. Übungsblätter zum Zuhause lösen und nicht verpflichtende (anm. | * ''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 | * ''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 | * ''Duisburg:'' Vorlesungen eher zum theoretischen Teil (Numerik, Modellierung), Profs fangen an und studentische Hilfskräfte sind als Tutoren dabei |
Version vom 10. Juni 2019, 19:32 Uhr
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
- https://aglorke.uni-due.de/fp2/vanleit/1%2013%20Untersuchung%20von%20Quantenpunkt-Helium%20mit%20Monte%20Carlo%20Simulationen%20Feb%202016.pdf
- https://aglorke.uni-due.de/fp2/vkurz/1.12%20Zeitreihenanalyse%20-%2024.11.2017.pdf
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]).