pythonkurs bannerenglish banner

 

 

 

 

This OPAL course currently contains the material of the last semester (WiSe 2023/24).

It will remain available for streaming (videos) and download (slides, exercises, solutions) until the next course starts (October 2024).

 

 

 

 

 

 

 

 

 

 

(English version below)

Dienstags, 16:40-18:10 Uhr. Online via BigBlueButton. Beginn: 10.10.2023

Informationen für Interessierte inklusive einer Info-Mailingliste gibt es auch unter http://www.tu-dresden.de/pythonkurs.

Das Pad zum Kurs befindet sich hier: https://yopad.eu/p/tud-pythonkurs-365days

Kursbegleitender Chat-Raum (Matrix): https://matrix.to/#/!LkWGzienBmssxIjZTB:tu-dresden.de?via=tu-dresden.de

Link für die Online-Veranstaltungen (ab 2023-10-10): https://bbb.tu-dresden.de/b/car-ohu-2qg-yrv

 

Der Kurs wird auch im Rahmen des Moduls "Neural Networks and Memristive Hardware Accelerators" (NNMHA) und deshalb bilingual durchgeführt. Die ersten fünf Lernteams (OPAL-Gruppen) sind für Studierende aus diesem Modul reserviert.

Für die Zusammenarbeit in den Lernteams ist es hilfreich, das Zusammenspiel von eigener Audio-Hardware mit dem Browser zu testen. Dafür ist z.B. https://online-voice-recorder.com/ zu empfehlen.

 

Kursbeschreibung


 

Python ist eine moderne und universelle Programmiersprache, die sich durch leichte Erlernbarkeit, hohe Produktivität, Plattformunabhängigkeit und die freie Verfügbarkeit des Interpreters und der Bibliotheken auszeichnet. Sie bietet exzellente Unterstützung für wissenschaftliche  Anwendungen, insbesondere für umfangreiche Berechnungen, Visualisierung und Kommunikation mit externen Geräten.

 

Inhalt des Kurse: 

Hinweis: Alle Videos können auf der verlinkten Seite auch heruntergeladen werden.

  1. Einführung (Live-Online-Vortrag) → Video
  2. Dateizugriffe und Funktionen (Live-Online-Vortrag) → Video
  3. Numerisch Rechnen → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  4. 2D Visualisierung → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  5. Grundlagen der Objektorientierung → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  6. Datenverarbeitung und -analyse → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  7. Fortgeschrittene Programmiermethoden → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  8. Performanzoptimierung → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  9. Symbolisch Rechnen → Video + Material (Folien, Beispielcode, ...) +  Online-Übung
  10. 3D Visualisierung → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  11. GUI-Programmierung mit PyQt Teil 1 → Video + Material (Folien, Beispielcode, ...) + Online-Übung
  12. GUI-Programmierung mit PyQt Teil 2 → Video + Material (Folien, Beispielcode, ...) +Online-Übung
  13. (Kommunikation mit externer Hardware) → Video
  14. Konsultationen

 

Literatur :

 

Zielgruppe:

Studierende (bevorzugt im Hauptstudium) und Mitarbeiter:innen der TU-Dresden mit Interesse an Python als Werkzeug zur Lösung wissenschaftlicher und technischer Problemstellungen. 

 

Umsetzung: Selbstlernphasen + Onlinekonsultationen

Dieser Kurs wird nach dem "Flipped-Classroom"-Konzept durchgeführt. D.h. Online-Präsenzphasen und Selbstlernphasen wechseln sich ab. Für die Selbstlernphasen stehen Screencasts, Vortragsfolien und eine Quiz-Plattform bereit. In diesen Phasen findet der klassiche unidirketionale Wissenstransport statt. Die Aneignung dieses Wissens erfolgt dann durch das Lösen der Übungsaufgaben in der Online-Präsenzphase, wobei erfahrungsgemäß Schwierigkeiten und Fragen auftreten. Diese werden

Das aktuelle Konzept sieht vor, dass sich die Teilnehmenden zu Zweier- bis Vierergruppen (sog. "Lernteams") zusammenfinden und die Aufgaben in diesen Teams gemeinsam bearbeiten. Dazu schlage ich die folgenden Tools vor:

https://jitsi.tu-dresden.de/ (Erstellen eigener Videkonferenzräume, inkl. optionaler Bildschirmübertragung)
https://yopad.eu/ (Mehrbenutzer-Echtzeiteditor für den Austausch von Code-Abschnitten)


In diesem Lernteam können Sie sich gegenseitig nach dem Vorbild des "pair-programming" bei Verständnisschwierigkeiten helfen. Finden Sie im Team nach 5min keine Lösung (bzw. Erklärung für die Musterlösung) melden Sie sich im Chat des Hauptraums unter Angabe der URL des jeweiligen Gruppen-Raums (z.B. "Frage in <https://jitsi.tu-dresden.de/pykurs-08>") und ich komme dann in den Raum und versuche zu helfen ("Online-Konsultation"). Auf diese Weise ist der Hauptraum still und lenkt Sie nicht vom Nachdenken und Aufgaben Lösen ab. Andererseits besteht aber trotzdem die Möglichkeit, dass ich Durchsagen mache, die für alle/viele relevant sind.

Die Zuordnung zu den Lernteams erfolgt in der ersten Veranstaltung.

 

Voraussetzungen:

Es ist kein Kurs für Programmier-Anfänger. Grundlegende Programmiererfahrung (z.B. in C, Java, Matlab, etc.) werden vorausgesetzt. Konkret heißt das, folgende Begriffe sollten klar sein: Variable, Datentyp, Schleife, Fallunterscheidung, Funktion, Rückgabewert, Array.

Die im Kurs behandelten Themen bauen zum Teil auf Inhalten aus Mathematik und Physik auf (Ingenieur-Grundstudiums-Niveau) auf.

Python-Kenntnisse werden nicht vorausgesetzt, sind aber natürlich hilfreich.

 

Abschluss:

Auf Wunsch kann bei Durchführung eines Beleges ein unbenoteter Leistungsschein (ausgestellt vom Institut für Regelungs- und Steuerungstheorie) erworben werden. CP können nicht erworben werden.

 

 

English version:

 

Note: the course will be bilingual (German/English). Do not hesitate to speak up if you do not understand something.

Tuesdays, 04:40pm-06:10pm. Online via BigBlueButton. Start: 2023-10-10

The Pad for the course: https://yopad.eu/p/tud-pythonkurs-365days

Chat-Room (Matrix): https://matrix.to/#/!LkWGzienBmssxIjZTB:tu-dresden.de?via=tu-dresden.de

Online conference link:  https://bbb.tu-dresden.de/b/car-ohu-2qg-yrv

 

 

Course content: 

Note: all videos are available as download on the linked page.

  1. Introduction (live online presentation) → Video
  2. File access and functions → Video
  3. Numerical calculations → Video
  4. 2D visualization → Video
  5. Basics of object orientation → Video
  6. Data processing and analysis → Video
  7. Advanced programming techniques → Video
  8. Performance optimization → Video
  9. Symbolic calculations → Video
  10. 3D visualization → Video
  11. GUI programming with PyQt part 1 → Video
  12. GUI programming with PyQt part 2 → Video
  13. Communicatioin with external hardware → Video
  14. Q&A

Course realization:

"Flipped Classroom" = self studying new content for every week, then doing exercises with with supervisions (aks questions).

Prerequisite for participation:

Basic Programming skills (e.g. in C, Java, Matlab; concepts: variable, data type, loop, if-then-else, function, argument) and basic engineering skills (some math, some physics).

 

Recommended literature: