Malte Schwerhoff: Katalogdaten im Frühjahrssemester 2020 |
Name | Herr Dr. Malte Schwerhoff |
Adresse | Dep. Informatik ETH Zürich, CAB H 31.2 Universitätstrasse 6 8092 Zürich SWITZERLAND |
Telefon | +41 44 632 21 08 |
malte.schwerhoff@inf.ethz.ch | |
Departement | Informatik |
Beziehung | Dozent |
Nummer | Titel | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|
252-0029-00L | Parallele Programmierung ![]() | 7 KP | 4V + 2U | T. Hoefler, H. Lehner, M. Schwerhoff | |
Kurzbeschreibung | Einfuehrung in das parallele Programmieren: nicht-deterministische und deterministische Programme, Modelle fuer parallele Programme, Synchronization, Kommunikation und Fairness. | ||||
Lernziel | Einfuehrung in das parallele Programmieren: nicht-deterministische und deterministische Programme, Modelle fuer parallele Programme, Synchronization, Kommunikation und Fairness. Uebungen beschaeftigen sich mit Threads in moderne Programmiersprachen (Java, C#) und die Ausfuehrung von parallelen Programmen auf Multi-Prozessor/Multi-Core basierten Systemen. | ||||
252-0216-00L | Rigorous Software Engineering ![]() | 8 KP | 4V + 2U + 1A | F. Friedrich Wicker, H. Lehner, M. Schwerhoff | |
Kurzbeschreibung | This course introduces both theoretical and applied aspects of software engineering and analysis. It covers: - Software Architecture - Informal and formal Modeling - Design Patterns - Code Refactoring - Program Testing - Dynamic Program Analysis - Static Program Analysis | ||||
Lernziel | The course has two main objectives: - Understand, end-to-end (theoretical and practical), the core techniques for building quality software - Understand how to apply these techniques in practice | ||||
Inhalt | Some of the core technical topics covered will be: - modeling and mapping of models to code - common code design patterns - functional and structural testing - dynamic and static analysis | ||||
Literatur | Will be announced in the lecture. | ||||
252-0832-00L | Informatik ![]() | 4 KP | 2V + 2U | H. Lehner, M. Schwerhoff | |
Kurzbeschreibung | Die Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt. | ||||
Lernziel | Primäres Lernziel der Vorlesung ist die Befähigung zum Programmieren mit C++. Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zum Erstellen eines Programms, sie kennen die fundamentalen Kontrollstrukturen, Datenstrukturen und verstehen, wie man ein algorithmisches Problem in ein Programm abbildet. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird. Sekundäre Lernziele der Vorlesung sind das Computer-basierte, algorithmische Denken, Verständnis der Möglichkeiten und der Grenzen der Programmierung und die Vermittlung der Denkart eines Computerwissenschaftlers. | ||||
Inhalt | Wir behandeln fundamentale Datentypen, Ausdrücke und Anweisungen, (Grenzen der) Computerarithmetik, Kontrollanweisungen, Funktionen, Felder, zusammengesetzte Strukturen und Zeiger. Im Teil zur Objektorientierung werden Klassen, Vererbung und Polymorphie behandelt, es werden exemplarisch einfache dynamische Datentypen eingeführt. Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert. | ||||
Skript | Ein Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt. | ||||
Literatur | Bjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010 Stephen Prata: C++ Primer Plus, Sixth Edition, Addison Wesley, 2012 Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000. | ||||
252-0848-00L | Informatik I ![]() | 4 KP | 2V + 2U | M. Schwerhoff, H. Lehner | |
Kurzbeschreibung | Die Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt. | ||||
Lernziel | Primäres Lernziel der Vorlesung ist die Befähigung zum Programmieren mit C++. Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zum Erstellen eines Programms, sie kennen die fundamentalen Kontrollstrukturen, Datenstrukturen und verstehen, wie man ein algorithmisches Problem in ein Programm abbildet. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird. Sekundäre Lernziele der Vorlesung sind das Computer-basierte, algorithmische Denken, Verständnis der Möglichkeiten und der Grenzen der Programmierung und die Vermittlung der Denkart eines Computerwissenschaftlers. | ||||
Inhalt | Wir behandeln fundamentale Datentypen, Ausdrücke und Anweisungen, (Grenzen der) Computerarithmetik, Kontrollanweisungen, Funktionen, Felder, zusammengesetzte Strukturen und Zeiger. Im Teil zur Objektorientierung werden Klassen, Vererbung und Polymorphie behandelt, es werden exemplarisch einfache dynamische Datentypen eingeführt. Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert. | ||||
Skript | Ein Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt. | ||||
Literatur | Bjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010 Stephen Prata: C++ Primer Plus, Sixth Edition, Addison Wesley, 2012 Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000. | ||||
252-0856-AAL | Computer Science ![]() Belegung ist NUR erlaubt für MSc Studierende, die diese Lerneinheit als Auflagenfach verfügt haben. Alle andere Studierenden (u.a. auch Mobilitätsstudierende, Doktorierende) können diese Lerneinheit NICHT belegen. | 4 KP | 9R | F. Friedrich Wicker, M. Schwerhoff | |
Kurzbeschreibung | Die Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt. | ||||
Lernziel | Primäres Lernziel der Vorlesung ist die Befähigung zum Programmieren mit C++. Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zum Erstellen eines Programms, sie kennen die fundamentalen Kontrollstrukturen, Datenstrukturen und verstehen, wie man ein algorithmisches Problem in ein Programm abbildet. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird. Sekundäre Lernziele der Vorlesung sind das Computer-basierte, algorithmische Denken, Verständnis der Möglichkeiten und der Grenzen der Programmierung und die Vermittlung der Denkart eines Computerwissenschaftlers. | ||||
Inhalt | Wir behandeln fundamentale Datentypen, Ausdrücke und Anweisungen, (Grenzen der) Computerarithmetik, Kontrollanweisungen, Funktionen, Felder, zusammengesetze Strukturen und Zeiger. Im Teil zur Objektorientierung werden Klassen, Vererbung und Polymorhpie behandelt, es werden exemplarisch einfache dynamische Datentypen eingeführt. Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert. | ||||
Skript | Ein Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt. | ||||
Literatur | Bjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010 Stephen Prata: C++ Primer Plus, Sixth Edition, Addison Wesley, 2012 Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000. | ||||
Voraussetzungen / Besonderes | Dieser virtuelle Kurs zum Selbststudium wird im Herbstsemester auch als physikalischer Kurs angeboten. Studenten ist empfohlen die Vorlesung und Übungen des physikalischen Kurses 252-0856-00L zu besuchen. | ||||
252-0862-00L | Engineering Tool: Modelling ![]() Die Ingenieur-Tool-Kurse sind ausschliesslich für MAVT-Bachelor-Studierende. | 0.4 KP | 1K | M. Schwerhoff | |
Kurzbeschreibung | This course provides an introduction to modelling, i.e. the representation of real-world entities and systems in computer programs. Basic modelling techniques will be introduced and illustrated, and students will apply these techniques in small projects, by modelling parts of systems such as a lift or a railway network. | ||||
Lernziel | Students develop an intuition for modelling the essential aspects of simple applications from their field. They learn how to transform such a model into a computer program. | ||||
Voraussetzungen / Besonderes | Lecture Series Informatik 252-0832-00L or equivalent knowledge in programming with C++. Engineering Tool: Advanced Programming with C++ is recommended, but not mandatory. Work on a programming project. Course can only be taken if the programming project is executed and submitted. If no solution to the programming project is submitted, the course is considered failed ("drop out"). |