Markus Dahinden: Catalogue data in Spring Semester 2023

Name Dr. Markus Dahinden
Address
Lehre D-INFK
ETH Zürich, CAB H 31.1
Universitätstrasse 6
8092 Zürich
SWITZERLAND
Telephone+41 44 632 53 52
E-mailmarkus.dahinden@inf.ethz.ch
DepartmentComputer Science
RelationshipLecturer

NumberTitleECTSHoursLecturers
252-0840-02LApplication-Oriented Programming with Python Information 2 credits2GL. E. Fässler, M. Dahinden
AbstractThis course provides important basic concepts for interdisciplinary programming projects with Python.
Learning objectiveStudents 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.
- to implement models from the natural sciences as a simulation.
- run random experiments and interpret the results.
- explain and apply standard algorithms.
ContentThe following programming concepts are introduced in the lecture:

1. Variables, data types
2. Control structures, logic
3. Sequential data types, search- and sort algorithms, simulating, modelling
4. Functions, modules , simulation and animation
5. Matrices, random experiments, Cellular automata
6. Classes and objects

In the practical part of the course, students work on small programming projects with a context from natural sciences. Electronic tutorials are available as preparation.
LiteratureL. Fässler, M. Dahinden, D. Komm, and D. Sichau: Einführung in die Programmierung mit Python. Begleitunterlagen zum Onlinekurs und zur Vorlesung, 2022. ISBN: 978-3-7562-1004-6.
Prerequisites / NoticeNo prior knowledge is required for this course. It is based on application-oriented learning. The students spend most of their time working through programming projects with data from natural science and discussing their results with teaching assistants. To learn the programming basics there are electronic tutorials available.
CompetenciesCompetencies
Subject-specific CompetenciesTechniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Decision-makingfostered
Media and Digital Technologiesfostered
Problem-solvingassessed
Project Managementfostered
Social CompetenciesCommunicationassessed
Personal CompetenciesAdaptability and Flexibilityfostered
Creative Thinkingfostered
Critical Thinkingfostered
Self-awareness and Self-reflection fostered
Self-direction and Self-management fostered
252-0842-00LIntroduction to Programming and Problem Solving3 credits2V + 1UD. Komm, M. Dahinden, M. Fischer
AbstractCore concepts of Computer Science and their implementation in Python.
Learning objectiveThe goals of the course are consolidating the knowledge about the programming language Python on the one hand, and learning about core concepts of computer science that are essential in algorithm design on the other hand. The focus is on computational thinking, that is, the ability to solve problems systematically by developing algorithms. Different strategies are introduced, analyzed theoretically, and implemented in Python. The combination of theory and practice is central in this course.
Content- Repetition of basic programming concepts such as variables, lists, control structures, and loops
- Reading in and visualizing data
- Complexity theory
- Sorting and searching
- Dynamic programming
- Recursion
- Graph algorithms
Lecture notesLecture website: https://moodle-app2.let.ethz.ch/course/view.php?id=19344
LiteratureThe slides will be available for download on the course website.
Prerequisites / NoticeRecommendation:
- Foundations of Computer Science (252-0852-00)
- Application Oriented Programming Using Python (252-0840-01)
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Problem-solvingassessed
Social CompetenciesCommunicationfostered
Cooperation and Teamworkfostered
Self-presentation and Social Influence fostered
Personal CompetenciesCreative Thinkingassessed
Critical Thinkingassessed
Self-awareness and Self-reflection fostered
Self-direction and Self-management fostered