Python in der Universitären Lehre

In den Sommersemestern 2011 und 2012 wurden an der TU Dresden erfolgreich interdisziplinäre Pythonkurse durchgeführt, mit Teilnehmenden u. a. aus den Bereichen Elektrotechnik, Informatik, Maschinenbau und Physik.

Im aktuellen Sommersemester (2013) findet ebenfalls wieder ein solcher Kurs statt (→ Infos).
Außerdem steht auf Grund der anstehenden Neuberufung die Frage im Raum, ob Python als Lehrsprache für die Informatik-Grundlagen-Ausbildung an der Fakultät EuI nicht geeigneter wäre als Java. Dazu ein Diskussionsbeitrag.

Für allgemeine Informationen mit Bezug zu Python im Umfeld der TU-Dresden steht die Mailingliste tud-python zur Verfügung. Darüber werden z. B. weitere Lehrveranstaltungen angekündigt oder über freie Stellen (SHK, WHK, ...) mit python-Bezug informiert.


python-logo

Python ist eine Skriptsprache, die sich sehr gut im natur- und ingenieurwissenschaftlichen Bereich einsetzen lässt. Das Anwendungsspektrum reicht von Berechnung und Visualisierung über Gerätesteuerung und Messwerterfassung bis zu (Hilfs-)Programmen für die Verarbeitung und Verwaltung von Daten. Sie ist vergleichsweise einfach zu lernen aber gleichzeitig sehr mächtig. D.h. man kann mit geringem Aufwand Probleme aus sehr unterschiedlichen Bereichen lösen. Als interpretierte Skriptsprache ist die Ausführungsdauer in der Regel größer als bei kompilierten Sprachen wie C oder Fortran. Dafür ist die benötigte Entwicklungszeit eines Programms meist deutlich geringer. Außerdem lassen sich bei Bedarf geschwindigkeitskritische Algorithmen einfach in kompilierte Bibliotheken auslagern bzw. bereits existierende nutzen.

Python kann in vielen Fällen als Ersatz für proprietäre Software (insbesondere für Matlab) dienen und hat dabei zwei entscheidende Vorteile: es ist frei (d.h. kostenlos und quelloffen) und es ist eine "richtige" Programmiersprache, die man sehr vielseitig einsetzen kann (anders als die spezialisierten Skriptsprachen von Matlab, Maple, etc).

Es gibt bereits sehr viel gute Dokumentation zu python. Auf dieser Seite möchte ich
a)eigene Beiträge zur Verfügung stellen und
b)auf einige ausgewählte Webseiten und Dokumente verweisen.




(teilweise) eigene Beiträge

    Sommerkurs, April bis Juli 2011

    Im Sommersemester 2011 fand auf Initiative von vier Doktoranden (Ingo Keller, Carsten Knoll, Peter Seifert, Sebastian Voigt) der TU-Dresden erstmals ein interdisziplinärer Pythonkurs statt. Das dabei entstandene Material wird hier für die nicht kommerzielle Nutzung zur Verfügung gestellt. Ich war dabei für die Vorträge 2, 9 und 10 verantwortlich.

    Kurze Inhaltsangabe: 01. Grundlagen, 02. Effiziente Lernmethoden, ipython und debugger, 03. Interaktion mit dem Betriebssystem, 04. Grundlagen der Objektorientierung, 05. Grafische Benutzeroberflächen (I), 06. Grafische Benutzeroberflächen (II), 07. Imports (Konsultation) 08. 2D Visualisierung ("Plotten"), 09. Numerisch und symbolisch Rechnen, 10. Ansteuerung externer Geräte und Hardware, 11. 3D Visualisierung, 12. Grundlagen ZODB (Objektorientierte Datenbank)

    Ziel des Kurses war, die Sprache und die mit ihr verbunden Möglichkeiten bekannter zu machen, um damit letzlich positive Effekte für Forschung und Lehre zu erreichen. Außerdem sollte eine Möglichkeit des Austausches über Python und seine Anwednungen geboten werden. Dazu wurde u.a. eine entsprechende Mailinliste eingerichtet: tud-python. Für Fragen und weitere Vorschläge in diese Richtung bin ich selbstverständlich offen (Kontakt).

    Kursmaterial

  • Aushang (ggf. erheiternd)
  • Folien der einzelnen Vorträge
  • Material komplett (inkl. Beispiele und Lösungen)

  • Weitere Vorträge / Artikel

  • Vortrag im Rahmen des Dresdner Linux Infotages 2008
  • Material zum Workshop im Rahmen des Dresdner Linux Infotages 2008
  • Vortrag im Institutsseminar 2010
  • Plädoyer für Python (Erschienen in der BAR-News Nr. 63, Zeitschrift des FSR Elektrotechnik).

  • Software (selbst bzw. mitentwickelt)

  • pyblocksim Blockorintiertes Modellieren und Simulieren dynamischer Systeme (ohne GUI)
  • Python-Skript zur Eigenwertplatzierung bei SISO-Systemen
  • PyMbs - Python Multibody Systems Werkzeug zur Modellbildung, Simulation und Visualisierung mechanischer Mehrkörpersysteme



Links

 
Design adapted from free website templates
(WebTemplateOcean.com, "undiscovered", 2011)
Stats Counter