python-logo

Python im Grundstudium für ET, MT, RES?




Position der Organisator_innen des Pythonkurses für Ingenieure

(Stand: November 2012)

Von 2003 bis 2012 wurde die Informatikausbildung für die Studiengänge Elektrotechnik, Mechatronik und Regenerative Energiesysteme (seit 2011) von Prof. Hochberger verantwortet. Die Vorlesung im zweiten Semester (2 SWS) und das Beleg-Projekt (1 SWS) basierten auf der Programmiersprache Java.

Nach dem Wechsel von Prof. Hochberger an die TU Darmstadt steht in diesem Bereich ein personeller Neuanfang bevor. Dabei bietet sich die Gelegenheit, Java als Lehrsprache zu hinterfragen und mit Alternativen zu vergleichen.

Ziel der Lehrveranstaltung Informatik ist laut Modulbeschreibung, die Fähigkeit der objektorientierten Programmierung zu vermitteln. Welche Sprache dafür benutzt wird ist nicht vorgegeben. Ein wichtiges Auswahlkriterium für Java war sicherlich, dass es objektorientiertes Programmieren "erzwingt" weil es funktionales und prozedurales Programmieren nicht oder nur schlecht unterstützt.

Aus unserer Sicht ist Python jedoch als Lehrsprache an im 2. Semester sinnvoller. Diese Einschätzung beruht, kurzgefasst, auf folgenden Gründen:

  • In Python kann man mindestens genau so gut objektorientiert programieren wie in Java. Tatsächlich kennt Python im Gegensatz zu Java keine Unterscheidung zwischen primitiven Datentypen (z. B. Integer) und Objekten. In Python ist alles ein Objekt.
  • Python erzwingt jedoch nicht das objektorientierte Paradigma, sondern erlaubt prozedurales und funktionales Programmieren oder Kombinationen aller drei Varianten. Das kann gerade für kleine Probleme effizienter sein.
  • Hauptargument: Python bietet, anders als Java, exzellente Unterstützung typische Ingenieur-Aufgaben: Symbolische und numerische Berechnungen, Simulation, 2d und 3d Visualisierung und Kommunikation mit externer Hardware (z.B. Messgeräte). Die Beherrschung von Python versetzt die Studierenden in die Lage eigenständig komplexe Fragestellungen zu untersuchen z.B. bei der Vor- und Nachbereitung von Übungen (Fehlersuche, alternative Lösungswege), bei der Auswertung von Praktika und nicht zuletzt in Belgen, Studien- und Diplomarbeiten. Dies würde als Nebeneffekt die Abhängigkeit von MATLAB mit seinem problematischen Lizenzmodell verringern.

  • Für Python spricht weiterhin:
  • Gute Lesebarkeit, einfache Erlernbarkeit, freie Verfügbarkeit mit sehr liberaler Lizenz, Plattformunabhängigkeit, einfaches Einbinden von externem Code, Interaktive Bedienbarkeit, Existenz sehr vieler sehr guter Zusatzpakete sowie die relativ weite und wachsende Verbreitung.

Nach unseren Erkenntnissen wird Python bereits erfolgreich an vielen Instituten an unserer und an anderen Fakultäten in der Forschung eingesetzt, Java dagegen kaum. Es wäre nur konsequent wenn die Lehre dieser Entwicklung Rechnung trüge. Wir hoffen, dass an der Fakultät Elektrotechnik und Informationstechnik eine Diskussion über die im zweiten Semester gelehrte Programmiersprache stattfindet, und sind überzeugt, dass bei entsprechender Gewichtung der Sachargumente Python eine angemessene Berücksichtigung Grundstudium findet.

Weitere Informationen:


Kommentare, Anregungen und ggf. Kritik bitte an Carsten Knoll.


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