|
Lernziele / Kompetenzen
|
Studierende sind mit fortgeschrittenen Programmierkonzepten vertraut und können diese selbstständig in Python anwenden. Sie kennen außerdem klassische Algorithmen und Datenstrukturen, können deren Komplexität beurteilen, selbstständig anwenden und praktisch in Python umsetzen.
|
|
Veranstaltungen
|
Algorithmen und Datenstrukturen
| Art |
Vorlesung |
| Nr. |
EMI112 |
| SWS |
2.0 |
| Lerninhalt |
Die Studierenden kennen klassische Algorithmen und Datenstrukturen, können deren Komplexität in der O-Notation beurteilen und selbstständig anwenden. Es werden folgende Algorithmen und Datenstrukturen behandelt:
- Verschiedene Arten von Listen
- Verschiedene Sortierverfahren
- Verschiedene Suchverfahren
- Binärbäume, Suchbäume, balancierte Suchbäume
- Funktionale Datenstrukturen (Queues, Arrays)
- Hashing
- Graphen, inkl. topologische Sortierung und shortest-path Algorithmus
|
| Literatur |
Ottmann, Thomas; Widmayer, Peter (2017): Algorithmen und Datenstrukturen, 6. Auflage, Spektrum, Berlin. Cormen, Tomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009): Introduction to Algorithms, 3. Auflage, MIT Press. |
Programmierung 2
| Art |
Vorlesung |
| Nr. |
EMI910 |
| SWS |
2.0 |
| Lerninhalt |
Studierende sind mit fortgeschrittenen Programmierkonzepten vertraut und können diese selbstständig in Python anwenden. Es werden folgende Themen behandelt:
- Objekt-orientierte Programmierung mit Python: Vererbung, abstrakte Klassen, Datenkapselung, statische Attribute und Methoden, liksovsches Substitutionsprinzip
- Ausgewählte Design-Patterns, z.B. Composite, Proxy und Visitor
- Iteratoren und Generatoren
- GUI-Programmierung
- Nebenläufiges Programmieren
- Dynamisches Programmieren
|
| Literatur |
Theis, Thomas (2019): Einstieg in Python: Programmieren lernen für Anfänger. Rheinwerk Computing.
Klein, Bernd (2017): Einführung in Python 3. Hanser. Downey, Allen (2015): Think Python: How to Think Like a Computer Scientist. O’Reilly. Online: http://greenteapress.com/thinkpython/html/index.html
|
Praktikum Programmierung 2
| Art |
Praktikum |
| Nr. |
EMI911 |
| SWS |
2.0 |
| Lerninhalt |
Im Praktikum werden alle Inhalte der Vorlesungen „Programmierung 2” und „Algorithmen & Datenstrukturen” praktisch mit Python umgesetzt.
Die Studierenden kennen klassische Algorithmen und Datenstrukturen, können deren Komplexität in der O-Notation beurteilen und selbstständig anwenden. Es werden folgende Algorithmen und Datenstrukturen behandelt:
- Verschieden Arten von Listen
- Verschiedene Sortierverfahren
- Verschiedene Suchverfahren
- Binärbäume, Suchbäume, balancierte Suchbäume
- Funktionale Datenstrukturen (Queues, Arrays)
- Hashing Graphen, inkl. topologische Sortierung und shortest-path Algorithmus
Studierende sind mit fortgeschrittenen Programmierkonzepten vertraut und können diese selbstständig in Python anwenden. Es werden folgendeThemen behandelt:
- Objekt-orientierte Programmierung mit Python: Vererbung, abstrakte Klassen, Datenkapselung, statische Attribute und Methoden, liksovsches Substitutionsprinzip
- Ausgewählte Design-Patterns, z.B. Composite, Proxy und Visitor
- Iteratoren und Generatoren
- GUI-Programmierung
- Nebenläufiges Programmieren
- Dynamisches Programmieren
|
| Literatur |
Theis, Thomas (2019): Einstieg in Python: Programmieren lernen für Anfänger. Rheinwerk Computing.
Klein, Bernd (2017): Einführung in Python 3. Hanser.
Downey, Allen (2015): Think Python: How to Think Like a Computer Scientist. O’Reilly. Online: http://greenteapress.com/thinkpython/html/index.html |
|