Markus Dahinden: Catalogue data in Spring Semester 2024 |
| 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, 2023. ISBN: 978-3-7578-2423-5. | |||||||||||||||||||||||||||||||||||||||||||||||
| 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 Belegungsfrist: 16.02.2024 | 3 credits | 2V + 1U | D. Komm, M. Dahinden, M. Wettstein | ||||||||||||||||||||||||||||||||||||||||||||
| 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 | Moodle: https://moodle-app2.let.ethz.ch/course/view.php?id=21917 Lecture website: https://courses.csedu.inf.ethz.ch/ppl-2024/ | |||||||||||||||||||||||||||||||||||||||||||||||
| Literature | The slides will be available for download on the course website. | |||||||||||||||||||||||||||||||||||||||||||||||
| Prerequisites / Notice | Recommendation: - Foundations of Computer Science (252-0852-00) or - Application Oriented Programming Using Python (252-0840-02) | |||||||||||||||||||||||||||||||||||||||||||||||
| Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||
| 273-0001-00L | Programming with Python | 3 credits | 2A | L. E. Fässler, M. Dahinden | ||||||||||||||||||||||||||||||||||||||||||||
| Abstract | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||
| Learning objective | Participants 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. | |||||||||||||||||||||||||||||||||||||||||||||||
| Content | Participants 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. | |||||||||||||||||||||||||||||||||||||||||||||||
| Prerequisites / Notice | It 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. | |||||||||||||||||||||||||||||||||||||||||||||||
| Competencies |
| |||||||||||||||||||||||||||||||||||||||||||||||

