Einführung in die wissenschaftliche Programmierung - Winter 09
Jump to navigation
Jump to search
- Term
- Winter 09
- Lecturer
- Dr. rer. nat. Stefan Zimmer
- Time and Place
- Vorlesung: Montags, 10:15-11:45, MI HS1
- Beginn: Damit sich alle SET-Tutoren um die SET kümmern können, ist in der ersten Semesterwoche noch kein WiPro, die Veranstaltung beginnt also mit der Vorlesung am 26.10.
- Audience
- Modul IN8008
- Pflichtfach im Studiengang Physik (Bachelor)
- Hörer anderer Fachrichtungen sind ebenfalls willkommen!
- Tutorials
- Zentralübung: Mittwochs 8:30-10:00, PH HS1
- Beginn am Mittwoch, 28.10.
- Exam
- Klausur am Semesterende: Freitag, 26.2.2010, 9:30-10:30 im Hörsaal MW0001
- Anmeldung zur Klausur bis 31.1. über TUMonline
- Hilfsmittel: als Hilfsmittel ist nur die Python-Gedächtnisstütze zugelassen, die zur Klausur verteilt wird und die die wichtigsten Sprachelemente aufführt.
- Bei der Veranstaltung vom letzten Jahr kann man sich eine alte Klausur ansehen, um zu sehen, wie Klausuraufgaben bei mir so aussehen.
- Klausureinsicht - Achtung: neuer Termin wegen Überschneidung mit Praktikum - ist am Donnerstag, 11.3. 13:30 im Raum 02.07.023
- Wiederholungsklausur ist am Freitag, 16.4., 15:00 im Raum MI 02.07.023 - Anmeldung wieder über TUMonline (Anmeldezeitraum ist 15.3.-31.3.), als Hilfsmittel ist wieder nur die Python-Gedächtnisstütze zugelassen.
- Klausureinsicht Wiederholungsklausur: nach Vereinbarung; bei Bedarf bitt ein Mail schicken
- Semesterwochenstunden / ECTS Credits
- 4 SWS / 4 Credits
- TUMonline
- {{{tumonline}}}
Einleitung (26./28.10.)
- Die Folien
Update 26.10.: Auf Folie 5 'Notepad' statt 'Wordpad'; Tippfehler beseitigt - Software
- Die offizielle Python-Website (mit Donwnload-Seite)
- Wer die IPython-Shell bnutzen möchte, findet die hier
- Dokumentation
- Online-Dokumentation
- Schriftenverkauf im LRZ (da gibt's das Python-Heft)
Kontrollstrukturen (2./4.11.)
- Die Folien
Update 2.11.:import math
undmath.exp
stattfrom math import exp
undexp
(ist auch in den Beispielprogrammen 1,3 und 4 unten geändert); Beispiele auf Folie 33 nachgezählt :-) - Die Programme aus der Vorlesung:
- logistisch1.py: Die Wertetabelle (Update 2.11., s.o.)
- logistisch2.py: Das Euler-Verfahren
- logistisch3.py: Das Euler-Verfahren mit Auswertung (Update 2.11., s.o.)
- logistisch4.py: Das Verfahren von Heun (Update 2.11., s.o., dieses Programm hatte bisher auch ein Einrückungsproblem, das ist nun behoben)
Funktionsdefinitionen (9./11.11.)
- Die Folien
Update 9.11.: Tippfehler auf Folie 46 entfernt, Programm auf Folie 58 ausgetauscht, in den Programmen auf Folien 57 und 59 den empfohlenenimport
-Mechanismus verwendet - Die Programme aus der Vorlesung:
- trapez.py: Trapezregel
- trapez2.py: Trapezregel mit Funktion als Parameter
Daten in Python (16./18.11.)
- Die Folien
Update 3.11.: Tippfehler auf Folie 74 entfernt -a[1:1]
gibt()
Update 16.11.: auf Folie 77range(Start, Stop)
stattrange(Start:Stop)
Ein Beispiel aus der Finanzmathematik (23./25.11.)
- Die Folien
- Das Programm binomial.py
Ein- und Ausgabe (30.11. - am 2.12. entfällt die Übung wegen Dies Academicus)
- Die Folien
- Die Programme aus der Vorlesung:
- test.py: Erstes Beispiel zum Schreiben und Lesen von Dateien
- mittelwert.py: Mittelwert berechnen (Beispieldatei mwtest.txt)
- teiler.py: Teilerlisten
Markov-Prozesse (7./9.12.)
- Die Folien
- Das Programm aus der Vorlesung: markov.py (Beispieldateien testzeile.txt für die Funktion
zeile_test()
und test.txt für die Funktioneinlesen()
)
Aufräumarbeiten, Teil 1 (14./16.12.)
- Die Folien
- Die Programme aus der Vorlesung:
- markov.py, Beispieldatei programmieren.txt
- markov_ausnahmen.py
Aufräumarbeiten, Teil 2 (21./23.12.)
- Die Folien
- Die Programme aus der Vorlesung:
- muster.py (Ein Modul)
- rekursion.py (Rekursive Funktionen)
- quadrate.py (Geschachtelte Funktionsdefinitionen)
- archimedes.py (Quadratur nach Archimedes)
Objektorientierte Programmierung, Teil 1 (11./13.1.)
- Die Folien
- Die Programme aus der Vorlesung:
Objektorientierte Programmierung, Teil 2 (18./20.1.)
- Die Folien
- Die Programme aus der Vorlesung:
- funktionen1.py (Basisversion der Klassen
Funktion
undPolynom
) - funktionen2.py (mit Addition)
- funktionen3.py (mit verbesserter Addition für Polynome)
- Update: in
Funktion.tabelle
muss esprint '%10.4f | %10.4f' % (a+h*i, self.wert(a+h*i))
heißen und nichtprint '%10.4f | %10.4f' % (h*i, self.wert(h*i))
- funktionen1.py (Basisversion der Klassen
Wärmeleitungsgleichung (25./27.1.)
- Die Folien
- Das Programm aus der Vorlesung: waermeleitung.py
- Pimp my Python:
- Gnuplot
- Das Paket Gnuplot.py, um Gnuplot direkt von Python aus benutzen zu können.
- Das Numerik-Paket NumPy
- Und schließlich SciTools (Einschließlich der Easyviz-Visualisierungstools)
- Anmeldung zur Klausur: bis 31.1. über TUMonline
Poisson-Gleichung (1./3. 2.)
- Die Folien
Update 1.2.: Auf Folie 240 in der Parameterliste des Konstruktors hat das I gefehlt, jetzt ist es da. - Das Programm aus der Vorlesung: poisson.py
Klausurtraining (8./11.2.)
- Die Folien
- Die Programme aus der Vorlesung:
- collatz1.py (Collatzfolge: Basisversion)
- collatz2.py (Collatzfolge: Funktionen)
- collatz3.py (Collatzfolge: Rekursion)
- listen1.py (Liste aufbauen)
- listen2.py (Funktionen mit Listen)
- stueckweise.py (Stückweise lineare Funktionen)
Hinweis auf die Ferienakademie
Von der in der Vorlesung erwähnten Ferienakademie im Sarntal gibt es nun das aktuelle Kursprogramm