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 |
markus.dahinden@inf.ethz.ch | |
Department | Computer Science |
Relationship | Lecturer |
Number | Title | ECTS | Hours | Lecturers | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
252-0840-02L | Application-Oriented Programming with Python | 2 credits | 2G | L. E. Fässler, M. Dahinden | ||||||||||||||||||||||||||||||||||||||
Abstract | This course provides important basic concepts for interdisciplinary programming projects with Python. | |||||||||||||||||||||||||||||||||||||||||
Learning objective | Students 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. | |||||||||||||||||||||||||||||||||||||||||
Content | The 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. | |||||||||||||||||||||||||||||||||||||||||
Literature | L. 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 / Notice | No 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. | |||||||||||||||||||||||||||||||||||||||||
Competencies |
| |||||||||||||||||||||||||||||||||||||||||
252-0842-00L | Introduction to Programming and Problem Solving | 3 credits | 2V + 1U | D. Komm, M. Dahinden, M. Fischer | ||||||||||||||||||||||||||||||||||||||
Abstract | Core concepts of Computer Science and their implementation in Python. | |||||||||||||||||||||||||||||||||||||||||
Learning objective | The 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 notes | Lecture website: https://moodle-app2.let.ethz.ch/course/view.php?id=19344 | |||||||||||||||||||||||||||||||||||||||||
Literature | The slides will be available for download on the course website. | |||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Recommendation: - Foundations of Computer Science (252-0852-00) - Application Oriented Programming Using Python (252-0840-01) | |||||||||||||||||||||||||||||||||||||||||
Competencies |
|