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
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. |
|