Search result: Catalogue data in Spring Semester 2018

Computational Science and Engineering TC Information
Detailed information on the programme at: www.didaktischeausbildung.ethz.ch
Further Subject Didactics
NumberTitleTypeECTSHoursLecturers
272-0300-00LAlgorithmics for Hard Problems Information
Does not take place this semester.
This course d o e s n o t include the Mentored Work Specialised Courses with an Educational Focus in Computer Science A.
W4 credits2V + 1UJ. Hromkovic
AbstractThis course unit looks into algorithmic approaches to the solving of hard problems. The seminar is accompanied by a comprehensive reflection upon the significance of the approaches presented for computer science tuition at high schools.
ObjectiveTo systematically acquire an overview of the methods for solving hard problems.
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.
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, D. Kratsch: Exact Exponential Algorithms, 2010.
272-0302-00LApproximation and Online Algorithms Information W4 credits2V + 1UH.‑J. Böckenhauer, D. 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.
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
272-0301-00LMethods for Design of Random Systems Information
This course d o e s n o t include the Mentored Work Specialised Courses with an Educational Focus in Computer Science B.
W4 credits2V + 1UH.‑J. Böckenhauer, D. Komm, R. Kralovic
AbstractThe students should get a deep understanding of the notion of randomness and its usefulness. Using basic elements probability theory and number theory the students will discover randomness as a source of efficiency in algorithmic. The goal is to teach the paradigms of design of randomized algorithms.
ObjectiveTo understand the computational power of randomness and to learn the basic
methods for designing randomized algorithms
Lecture notesJ. Hromkovic: Randomisierte Algorithmen, Teubner 2004.

J.Hromkovic: Design and Analysis of Randomized Algorithms. Springer 2006.

J.Hromkovic: Algorithmics for Hard Problems, Springer 2004.
LiteratureJ. Hromkovic: Randomisierte Algorithmen, Teubner 2004.

J.Hromkovic: Design and Analysis of Randomized Algorithms. Springer 2006.

J.Hromkovic: Algorithmics for Hard Problems, Springer 2004.
252-0408-00LCryptographic Protocols Information W5 credits2V + 2UM. Hirt, U. Maurer
AbstractThe course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.
ObjectiveIndroduction to a very active research area with many gems and paradoxical
results. Spark interest in fundamental problems.
ContentThe course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.
Lecture notesthe lecture notes are in German, but they are not required as the entire
course material is documented also in other course material (in english).
Prerequisites / NoticeA basic understanding of fundamental cryptographic concepts
(as taught for example in the course Information Security or
in the course Cryptography Foundations) is useful, but not required.
263-2300-00LHow To Write Fast Numerical Code Information Restricted registration - show details
Does not take place this semester.
Number of participants limited to 84.

Prerequisite: Master student, solid C programming skills.
W6 credits3V + 2UM. Püschel
AbstractThis course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for numerical functionality such as linear algebra and others. The focus is on optimizing for the memory hierarchy and for special instruction sets. Finally, the course will introduce the recent field of automatic performance tuning.
ObjectiveSoftware performance (i.e., runtime) arises through the interaction of algorithm, its implementation, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this interaction, and hence software performance, focusing on numerical or mathematical functionality. The second goal is to teach a general systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in a few homeworks and semester-long group projects.
ContentThe fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture.

This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance software development using important functionality such as linear algebra functionality, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and, if time permits, how to write multithreaded code for multicore platforms. Much of the material is based on state-of-the-art research.

Further, a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. Finally, the course will introduce the students to the recent field of automatic performance tuning.
  •  Page  1  of  1