Dennis Komm: Catalogue data in Spring Semester 2023

Name Prof. Dr. Dennis Komm
FieldAlgorithms and Didactics
Address
Professur Algorithmen und Didaktik
ETH Zürich, CAB F 10.1
Universitätstrasse 6
8092 Zürich
SWITZERLAND
Telephone+41 44 632 82 23
E-maildennis.komm@inf.ethz.ch
URLhttps://people.inf.ethz.ch/dkomm/
DepartmentComputer Science
RelationshipAssociate Professor

NumberTitleECTSHoursLecturers
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
252-4225-00LPresenting Theoretical Computer Science Restricted registration - show details
The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
2 credits2SB. Gärtner, D. Komm, R. Kyng, A. Steger, D. Steurer, E. Welzl
AbstractStudents present current or classical results from theoretical computer science.
Learning objectiveStudents learn to read, understand and present results from theoretical computer science. The main focus and deliverable is a good presentation of 45 minutes that can easily be followed and understood by the audience.
ContentStudents present current or classical results from theoretical computer science.
Prerequisites / NoticeThe seminar takes place as a block seminar on two Saturdays in April and/or May. Each presentation is jointly prepared and given by two students (procedure according to the seminar's Moodle page).
All students must attend all presentations. Participation requires successful completion of the first year, or instructor approval.
272-0102-00LSubject Didactics of Computer Science II Restricted registration - show details
Prerequisite: Subject Didactics of Computer Science I
4 credits3GJ. Hromkovic, D. Komm, G. Serafini
AbstractThis course deals primarily with didactic aspects of computer science and its key contributions to general education nurturing the youths' development of a unique and indispensable way of thinking while at the same time leading to their understanding of our world and to higher education entrance qualifications.
Learning objectiveThis course deals primarily with didactic aspects of computer science and its key contributions to general education nurturing the youths' development of a unique and indispensable way of thinking while at the same time leading to their understanding of our world and to higher education entrance qualifications.

Subject Didactics in Computer Science II deals with the adequate choice of educational content for computer science, taking in account its comprehensibility for different age groups and the didactic methods suitable for a succesful knowledge transfer.

Within the scope of a semester exercise the students develop and document an adaptive teaching unit for computer science. They improve their practical knowledge of the teaching methods and techniques introduced in Subject Didactics in Computer Science I.

The aim of the course is to combine the mathematical and algorithmic way of thinking with the approaches adopted by engineering disciplines.

The students understand the basic concepts of computer science in the context of a broad and deep knowledge. Through this understanding, they manage to prepare teaching materials for a successful knowledge transfer and to pass their passion for the subject on to their pupils.

The students know various teaching methods including their advantages and disadvantages. They can handle unequal levels of the learners' prior knowledge. Besides of holding classes the students do care about the individual pupil support. They encourage the autonomy of the learners. They manage to work with diverse target groups and to establish a positive climate for learning.

The students are able to express themselves using a comprehensible and refined professional language, both spoken and written, and they master the basic terms of computer science. Besides of the English terminology they are familiar with the german expressions. The students are able to produce detailed, matured, linguistically correct and design-wise appealing teaching materials.
ContentThe main themes of Subject Didactics of Computer Science II are Cryptology and Computability. The unit focuses on the content of computer science that conveys general educational values. this aims at the understanding of basic concepts of the science, such as
- Algorithm
- Complexity
- Determinism
- Nondeterminism
- Probability
- Computation
Lecture notesUnterlagen und Folien werden zur Verfügung gestellt.
LiteratureJ. Hromkovic: Sieben Wunder der Informatik: Eine Reise an die Grenze des Machbaren, mit Aufgaben und Lösungen. Vieweg+Teubner; Auflage: 2 (2008).

K. Freiermuth, J. Hromkovic, L. Keller und B. Steffen: Einfuehrung in die Kryptologie: Lehrbuch für Unterricht und Selbststudium. Springer Vieweg; Auflage: 2 (2014).

J. Hromkovic: Berechenbarkeit: Logik, Argumentation, Rechner und Assembler, Unendlichkeit, Grenzen der Automatisierbarkeit. Vieweg+Teubner; Auflage: 1 (2011).

H.-J. Böckenhauer, J. Hromkovic: Formale Sprachen: Endliche Automaten, Grammatiken, lexikalische und syntaktische Analyse. Springer Vieweg; Auflage: 1 (Januar 2013).
Prerequisites / NoticeBewilligung der Dozierenden für alle Studierenden notwendig
272-0300-00LAlgorithmics for Hard Problems Information
This course d o e s n o t include the Mentored Work Specialised Courses with an Educational Focus in Computer Science A.
5 credits2V + 1U + 1AH.‑J. Böckenhauer, D. Komm
AbstractThis course unit looks into algorithmic approaches to the solving of hard problems, particularly with moderately exponential-time algorithms and parameterized algorithms.

The seminar is accompanied by a comprehensive reflection upon the significance of the approaches presented for computer science tuition at high schools.
Learning objectiveTo systematically acquire an overview of the methods for solving hard problems. To get deeper knowledge of exact and parameterized algorithms.
ContentFirst, the concept of hardness of computation is introduced (repeated for the computer science students). Then some methods for solving hard problems are treated in a systematic way. For each algorithm design method, it is discussed what guarantees it can give and how we pay for the improved efficiency. A special focus lies on moderately exponential-time algorithms and parameterized algorithms.
Lecture notesUnterlagen und Folien werden zur Verfügung gestellt.
LiteratureJ. Hromkovic: Algorithmics for Hard Problems, Springer 2004.

R. Niedermeier: Invitation to Fixed-Parameter Algorithms, 2006.

M. Cygan et al.: Parameterized Algorithms, 2015.

F. Fomin et al.: Kernelization, 2019.

F. Fomin, D. Kratsch: Exact Exponential Algorithms, 2010.
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
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
272-0302-00LApproximation and Online Algorithms Information
Does not take place this semester.
5 credits2V + 1U + 1AD. Komm
AbstractThis lecture deals with approximative algorithms for hard optimization problems and algorithmic approaches for solving online problems as well as the limits of these approaches.
Learning objectiveGet a systematic overview of different methods for designing approximative algorithms for hard optimization problems and online problems. Get to know methods for showing the limitations of these approaches.
ContentApproximation algorithms are one of the most succesful techniques to attack hard optimization problems. Here, we study the so-called approximation ratio, i.e., the ratio of the cost of the computed approximating solution and an optimal one (which is not computable efficiently).
For an online problem, the whole instance is not known in advance, but it arrives pieceweise and for every such piece a corresponding part of the definite output must be given. The quality of an algorithm for such an online problem is measured by the competitive ratio, i.e., the ratio of the cost of the computed solution and the cost of an optimal solution that could be given if the whole input was known in advance.

The contents of this lecture are
- the classification of optimization problems by the reachable approximation ratio,
- systematic methods to design approximation algorithms (e.g., greedy strategies, dynamic programming, linear programming relaxation),
- methods to show non-approximability,
- classic online problem like paging or scheduling problems and corresponding algorithms,
- randomized online algorithms,
- the design and analysis principles for online algorithms, and
- limits of the competitive ratio and the advice complexity as a way to do a deeper analysis of the complexity of online problems.
LiteratureThe lecture is based on the following books:

J. Hromkovic: Algorithmics for Hard Problems, Springer, 2004

D. Komm: An Introduction to Online Computation: Determinism, Randomization, Advice, Springer, 2016

Additional literature:

A. Borodin, R. El-Yaniv: Online Computation and Competitive Analysis, Cambridge University Press, 1998
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
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