Search result: Catalogue data in Spring Semester 2020
Computer Science TC Detailed information on the programme at: www.didaktischeausbildung.ethz.ch | ||||||
Specialized Courses in Respective Subject with Educational Focus | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
272-0300-00L | Algorithmics for Hard Problems 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. | W | 5 credits | 2V + 1U + 1A | ||
Abstract | This 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 objective | To systematically acquire an overview of the methods for solving hard problems. To get deeper knowledge of exact and parameterized algorithms. | |||||
Content | First, 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 notes | Unterlagen und Folien werden zur Verfügung gestellt. | |||||
Literature | J. 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-00L | Approximation and Online Algorithms | W | 5 credits | 2V + 1U + 1A | H.‑J. Böckenhauer, D. Komm | |
Abstract | This 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 objective | Get 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. | |||||
Content | Approximation 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. | |||||
Literature | The 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-0400-00L | Mentored Work Specialised Courses in the Respective Subject with Educational Focus Computer Sc A | W+ | 2 credits | 4A | J. Hromkovic, G. Serafini | |
Abstract | In the mentored work on their subject specialisation, students link high-school and university aspects of the subject, thus strengthening their teaching competence with regard to curriculum decisions and the future development of the tuition. They compile texts under supervision that are directly comprehensible to the targeted readers - generally specialist-subject teachers at high-school level. | |||||
Learning objective | The aim is for the students - to familiarise themselves with a new topic by obtaining material and studying the sources, so that they can selectively extend their specialist competence in this way. - to independently develop a text on the topic, with special focus on its mathematical comprehensibility in respect of the level of knowledge of the targeted readership. - To try out different options for specialist further training in their profession. | |||||
Content | Thematische Schwerpunkte: Die mentorierte Arbeit in FV besteht in der Regel in einer Literaturarbeit über ein Thema, das einen Bezug zum gymnasialem Unterricht oder seiner Weiterentwicklung hat. Die Studierenden setzen darin Erkenntnisse aus den Vorlesungen in FV praktisch um. Lernformen: Alle Studierenden erhalten ein individuelles Thema und erstellen dazu eine eigenständige Arbeit. Sie werden dabei von ihrer Betreuungsperson begleitet. Gegebenenfalls stellen sie ihre Arbeit oder Aspekte daraus in einem Kurzvortrag vor. Die mentorierte Arbeit ist Teil des Portfolios der Studierenden. | |||||
Lecture notes | Eine Anleitung zur mentorierten Arbeit in FV wird zur Verfügung gestellt. | |||||
Literature | Die Literatur ist themenspezifisch. Sie muss je nach Situation selber beschafft werden oder wird zur Verfügung gestellt. | |||||
Prerequisites / Notice | Die Arbeit sollte vor Beginn des Praktikums abgeschlossen werden. | |||||
252-0408-00L | Cryptographic Protocols | W | 6 credits | 2V + 2U + 1A | M. Hirt, U. Maurer | |
Abstract | The 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. | |||||
Learning objective | Indroduction to a very active research area with many gems and paradoxical results. Spark interest in fundamental problems. | |||||
Content | The 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 notes | the 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 / Notice | A 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-0007-00L | Advanced Systems Lab Only for master students, otherwise a special permission by the study administration of D-INFK is required. | W | 8 credits | 3V + 2U + 2A | M. Püschel, C. Zhang | |
Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for mathematical functionality occurring in various fields in computer science. The focus is on optimizing for a single core and includes optimizing for the memory hierarchy, for special instruction sets, and the possible use of automatic performance tuning. | |||||
Learning objective | Software performance (i.e., runtime) arises through the complex interaction of algorithm, its implementation, the compiler used, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this "vertical" interaction, and hence software performance, for mathematical functionality. The second goal is to teach a systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in several homeworks and a semester-long group project. | |||||
Content | The 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 mathematical software development using important functionality such as matrix operations, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and other details of current processors that require optimization. The concept of automatic performance tuning is introduced. The focus is on optimization for a single core; thus, the course complements others on parallel and distributed computing. Finally a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. | |||||
Prerequisites / Notice | Solid knowledge of the C programming language and matrix algebra. |
- Page 1 of 1