Markus Dahinden: Katalogdaten im Frühjahrssemester 2024

NameHerr Dr. Markus Dahinden
Adresse
Lehre D-INFK
ETH Zürich, CAB H 31.1
Universitätstrasse 6
8092 Zürich
SWITZERLAND
Telefon+41 44 632 53 52
E-Mailmarkus.dahinden@inf.ethz.ch
DepartementInformatik
BeziehungDozent

NummerTitelECTSUmfangDozierende
252-0840-02LAnwendungsnahes Programmieren mit Python Information 2 KP2GL. E. Fässler, M. Dahinden
KurzbeschreibungDiese Lehrveranstaltung vermittelt wichtige Basiskonzepte zur Bearbeitung interdisziplinärer Programmierprojekte mit Python.
LernzielDie Studierenden können...

- selbstständig Aufgabenstellungen als Programm codieren, Programme testen und Fehler beheben.
- bestehenden Programmcode verstehen, hinterfragen und verbessern.
- mit der Komplexität realer Daten umgehen.
- Daten in einer geeigneten Datenstruktur speichern.
- Modelle aus den Naturwissenschaften als Simulation umzusetzen.
- Zufallsexperimente durchführen und die Resultate interpretieren.
- Standard-Algorithmen erklären und anwenden.
InhaltIn der Vorlesung werden folgende Basis-Konzepte behandelt:

1. Variablen und Datentypen
2. Kontrollstrukturen und Logik
3. Sequentielle Datentypen, Such- und Sortieralgorithmen, Sequenzanalyse
4. Funktionen, Module, Simulationen und Animationen
5. Matrizen, Zufallsexperimente, Zelluläre Automaten
6. Klassen und Objekte

Im praktischen Teil der Lehrveranstaltung werden selbstständig kleine Programmierprojekte mit naturwissenschaftlichem Kontext bearbeitet. Als Vorbereitung werden elektronische Tutorials bereitgestellt.
LiteraturL. Fässler, M. Dahinden, D. Komm, and D. Sichau: Einführung in die Programmierung mit Python. Begleitunterlagen zum Onlinekurs und zur Vorlesung, 2023. ISBN: 978-3-7578-2423-5.
Voraussetzungen / BesonderesFür diese Lehrveranstaltung werden keine Vorkenntnisse vorausgesetzt. Sie basiert auf anwendungsorientiertem Lernen. Den grössten Teil der Arbeit verbringen die Studierenden damit, Programmierprojekte mit naturwissenschaftlichen Daten zu bearbeiten und die Resultate mit Assistierenden zu diskutieren. Für die Aneignung der Programmier-Grundlagen stehen elektronische Tutorials zur Verfügung.
KompetenzenKompetenzen
Fachspezifische KompetenzenVerfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggefördert
Medien und digitale Technologiengefördert
Problemlösunggeprüft
Projektmanagementgefördert
Soziale KompetenzenKommunikationgeprüft
Persönliche KompetenzenAnpassung und Flexibilitätgefördert
Kreatives Denkengefördert
Kritisches Denkengefördert
Selbstbewusstsein und Selbstreflexion gefördert
Selbststeuerung und Selbstmanagement gefördert
252-0842-00LProgrammieren und Problemlösen Information Belegung eingeschränkt - Details anzeigen
Belegungsfrist: 16.02.2024
3 KP2V + 1UD. Komm, M. Dahinden, M. Wettstein
KurzbeschreibungInformatikkonzepte und deren Umsetzung in Python.
LernzielDie Ziele der Lehrveranstaltung sind einerseits das Programmieren in Python zu vertiefen und andererseits Informatikkonzepte kennenzulernen, die im Algorithmendesign Anwendung finden. Hierbei liegt der Fokus auf dem algorithmischen Denken, also der Fähigkeit, Probleme systematisch mit Hilfe von entwickelten Algorithmen zu lösen. Es werden verschiedene Strategien für das Problemlösen vorgestellt, theoretisch analysiert und praktisch in Python umgesetzt. Die Verknüpfung von Theorie und Praxis ist in dieser Lehrveranstaltung zentral.
Inhalt- Repetition von grundlegenden Programmierkonzepten wie Variablen, Listen, Kontrollstrukturen und Schleifen
- Einlesen und darstellen von Daten
- Komplexitätstheorie
- Sortieren und Suchen
- Dynamische Programmierung
- Rekursion
- Graph-Algorithmen
SkriptMoodle: https://moodle-app2.let.ethz.ch/course/view.php?id=21917
Vorlesungswebseite: https://courses.csedu.inf.ethz.ch/ppl-2024/
LiteraturDie ausführlichen Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
Voraussetzungen / BesonderesEmpfehlung:
- Grundlagen der Informatik (252-0852-00)
oder
- Anwendungsnahes Programmieren mit Python (252-0840-02)
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Problemlösunggeprüft
Soziale KompetenzenKommunikationgefördert
Kooperation und Teamarbeitgefördert
Selbstdarstellung und soziale Einflussnahmegefördert
Persönliche KompetenzenKreatives Denkengeprüft
Kritisches Denkengeprüft
Selbstbewusstsein und Selbstreflexion gefördert
Selbststeuerung und Selbstmanagement gefördert
273-0001-00LProgramming with Python Belegung eingeschränkt - Details anzeigen 3 KP2AL. E. Fässler, M. Dahinden
KurzbeschreibungThis Python course reinforces and extends basic programming concepts covered previously in the CAS in Applied Information Technology and introduces several new topics. These include classes, objects, and a selection of important Python libraries. Participants will develop their Python programming skills over the entire module with online tutorials, programming exercises, and one-on-one support.
LernzielParticipants learn...

- how to encode a problem into a program, test the program, and correct errors.
- to understand and improve existing code.
- deal with the complexity of real data.
- store data in a suitable data structure.
- query databases and understand and evaluate the corresponding database model.
- to implement mathematical models as a simulation.
InhaltParticipants expand their programming skills. They learn to develop mathematical models for real-world tasks and solve them as small projects in Python. Fundamental concepts of programming being covered include Matrix calculations, Objects and Classes, Data requests for Data Science and Data visualization.
Voraussetzungen / BesonderesIt is based on application-oriented learning. The students spend most of their time working through programming projects and discussing their results with teaching assistants. To learn the programming basics there are electronic tutorials available.

A Python basics online course is available approximately one month prior to the start of the program for people who do not have any prior experience with Python or who would like to refresh their Python skills.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengefördert
Verfahren und Technologiengeprüft
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Entscheidungsfindunggefördert
Medien und digitale Technologiengefördert
Problemlösunggeprüft
Projektmanagementgefördert
Soziale KompetenzenKommunikationgeprüft
Kooperation und Teamarbeitgefördert
Persönliche KompetenzenAnpassung und Flexibilitätgefördert
Kreatives Denkengeprüft
Kritisches Denkengeprüft
Selbstbewusstsein und Selbstreflexion gefördert
Selbststeuerung und Selbstmanagement gefördert