- Nummer
- cth
- Leitung
- -
- ECTS
- 3.0
- Spezifizierung
- Analysieren und Lösen von Problemstellungen mit den Werkzeugen der Programmiersprache Python
- Anspruchsniveau
- Intermediate
- Inhalt
Um komplexere Aufgabenstellungen zu lösen, müssen diese zuerst verstanden und strukturiert werden. Computational Thinking bedeutet, eine Problemstellung zu analysieren, sie in lösbare Teilprobleme zu zerlegen und zu erkennen, welche der zur Verfügung stehenden Werkzeuge und Strategien sich zur Lösung eignen. Dabei wird unterschieden zwischen verschiedenen Lösungsansätzen, deren Vor- und Nachteile abgewogen werden, bevor eine Umsetzung erfolgt. Diese Kenntnisse sind essenziell, damit die Studierenden zukünftig generierten Code von AI-Tools überprüfen können.
Das Modul Computational Thinking baut direkt auf den in Grundlagen Programmieren erlernten Werkzeugen der Programmierung auf. Im Zentrum steht nun nicht mehr das Kennen einzelner Werkzeuge und deren Syntax, sondern deren eigenständige Auswahl, Kombination und Anwendung zur Lösung offener Aufgabenstellungen. Dazu gehört, Code so zu strukturieren, dass er verständlich und wartbar bleibt, ein Gefühl für die Effizienz unterschiedlicher Lösungsansätze zu entwickeln und mithilfe des Debuggers Fehler gezielt zu finden und zu beheben. Ergänzend werden Programme durch den Einsatz von Dateien, Fehlerbehandlung und externen Bibliotheken robuster und praxistauglicher gestaltet.
- Lernergebnisse
Von der Aufgabe zur Lösung 27h
Du kannst eine offene Textaufgabe lesen, das Problem in Teilschritte zerlegen und selbstständig entscheiden, welche Konzepte, Strukturen und Werkzeuge sich zur Lösung eignen. Du setzt diese Entscheidungen in funktionierenden Code um und verbesserst deine Lösung iterativ, unter anderem mit dem Python-Debugger, um Fehler zu finden.
Code sauber strukturieren 22h
Du kannst Code so gestalten, dass er verständlich, wartbar und wiederverwendbar ist. Du kennst Prinzipien wie DRY und Single Responsibility, setzt Funktionen gezielt ein und weisst, wann sich Abstraktionen lohnen und wann nicht. Du verwendest Type-Hints und Docstrings konsequent in deinem eigenen Code.
Fortgeschrittene Python-Konzepte gezielt einsetzen 18h
Du verwendest Comprehensions, lambda-Funktionen und kennst Scopes und Referenzverhalten. Du setzt diese Konzepte dann ein, wenn sie eine Lösung klarer oder kompakter machen und nicht um ihrer selbst willen.
Programme robust und praxistauglich machen 14h
Du arbeitest mit Dateien (lesen, schreiben, with-Statement) und behandelst Laufzeitfehler gezielt mit try/except. Du weisst, wie du externe Bibliotheken in grösseren Lösungen sinnvoll einsetzt, und kennst weitere praktische Werkzeuge, die Programme stabiler und alltagstauglich machen.
Effizienz und Datenstrukturen bewusst wählen 9h
Du kannst einschätzen, wie effizient eine Lösung ist, und weisst, dass die Wahl der Datenstruktur einen Unterschied macht. Du kannst einfache Lösungen hinsichtlich ihrer Laufzeit vergleichen und gezielt die passendere Variante wählen.
- Modulbewertung
- Note
- Baut auf folgenden Modulen auf
- Grundkompetenz Programmieren (gpr)
- Modultyp
- Portfoliomodul