Universität Wien
Achtung! Das Lehrangebot ist noch nicht vollständig und wird bis Semesterbeginn laufend ergänzt.

136080 UE Advanced Python Programming: Data Structures and Algorithms as Models of Professional Assumptions (2025S)

Prüfungsimmanente Lehrveranstaltung

An/Abmeldung

Hinweis: Ihr Anmeldezeitpunkt innerhalb der Frist hat keine Auswirkungen auf die Platzvergabe (kein "first come, first served").

Details

max. 25 Teilnehmer*innen
Sprache: Englisch

Lehrende

Termine (iCal) - nächster Termin ist mit N markiert

  • Dienstag 08.04. 09:45 - 13:00 Seminarraum 4 2H558 UZA II Rotunde
  • Dienstag 29.04. 09:45 - 13:00 Seminarraum 4 2H558 UZA II Rotunde
  • Dienstag 13.05. 09:45 - 13:00 Seminarraum 4 2H558 UZA II Rotunde
  • Dienstag 27.05. 09:45 - 13:00 Seminarraum 4 2H558 UZA II Rotunde
  • Samstag 14.06. 09:45 - 14:45 Hörsaal 2 Hauptgebäude, Tiefparterre Stiege 5 Hof 3
  • Dienstag 24.06. 09:45 - 13:00 Seminarraum 4 2H558 UZA II Rotunde

Information

Ziele, Inhalte und Methode der Lehrveranstaltung

The course is meant to teach programming skills, best practices of modern software development methods and skills in modelling research questions while giving a deeper understanding how professional assumptions lead to algorithms and data structures and how therefore those assumptions are implicitly fossilized in the data, data structures and algorithms themselves.

The goals by topic are:

Programming skills
a. Applied object oriented and functional programming approaches to problems in Python. Modular programming, folder structures.
b. Typical algorithms from the humanities (including bioinformatical approaches etc.).
c. Practical experiences with several standard python libraries.
d. Test driven software development with pytest (and selenium).
e. Refactoring, code smells
f. Code review, pair programming.
g. Pipeline architectures for research projects.
h. Using IDE and LLM-Helpers for better coding.

Data structures
a. Good knowledge of data structures in the humanities.
b. Handling of data with python.
c. Creating Synthetic data.

Statistic/ Maths
a. This is not a statistic course. Nevertheless some mathematical methods are used and taught, that might be new to some participants.

Modelling
a. Modelling humanist research interests via data structures and algorithms.
b. Differences between the humanities represented in data, data structures and algorithms.
c. Borrowing approaches from other domains – model transfer.
d. Domain Driven Design.

Reflection and Responsibility

a. Understanding the consequences of choices of architecture, data structures and algorithms.
b. Modelling, testing, evaluating and discussing consequences.

Art der Leistungskontrolle und erlaubte Hilfsmittel

The evaluation of the course will be based on the engagement during the course time (70%) and a small project done by each student (30%) - no further examination.

Mindestanforderungen und Beurteilungsmaßstab

Regular, active participation with maximal 2 leaves.

Prüfungsstoff

There is no exam for the course. In addition to regular reading assigments, the grade will mostly be based on a research project showcasing the skills taught in class.

Literatur

Complete list will be handed out at the start of the seminar.

Bhargava, A. Y. (2024). Grokking algorithms (Second edition). Manning Publications Co.
Fowler, M. (2019). Refactoring: Improving the design of existing code (Second edition). Addison-Wesley.
Freeman, E., Robson, E., Sierra, K., & Bates, B. (2021). Head first design patterns: Building extensible & maintainable object-oriented software (2nd edition). O’Reilly®.
Kofler, M., Öggl, B., & Springer, S. (2025). Coding mit KI: Das Praxisbuch für die Softwareentwicklung (1. Auflage). Rheinwerk Verlag.
Kopec, D. (2019). Classic Computer Science Problems in Python. Manning Publications Co. LLC.
Lahres, B., Raýman, G., & Strich, S. (2021). Objektorientierte Programmierung: Das umfassende Handbuch (5., aktualisierte Auflage). Rheinwerk Verlag.
Molak, A., & Jaokar, A. (2023). Causal Inference and Discovery in Python: Unlock the secrets of modern causal machine learning with DoWhy, EconML, PyTorch and more. Packt Publishing.
Moretti, F., & Moretti, F. (2007). Graphs, maps, trees: Abstract models for literary history (Paperback edition). Verso.
Percival, H. J. W. (2017). Test-driven development with Python: Obey the testing goat: using Django, Selenium, and JavaScript (Second edition). O’Reilly.
Slatkin, B. (2025). Effective Python: 125 specific ways to write better Python (Third edition). Addison-Wesley.
Steinkamp, V. (2024). Mathematische Algorithmen mit Python: Aufgaben vom Sieb des Eratosthenes bis zur RSA-Verschlüsselung (2., aktualisierte und erweiterte Auflage). Rheinwerk.


Zuordnung im Vorlesungsverzeichnis

DH-S II
Cluster I: Sprache und Literatur

Letzte Änderung: Fr 14.03.2025 13:26