# Search result: Catalogue data in Spring Semester 2019

Computer Science Master | ||||||

Focus Courses | ||||||

Focus Courses in Computational Science | ||||||

Focus Core Courses Computational Science | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|

263-2300-00L | How To Write Fast Numerical Code Number of participants limited to 84. Prerequisite: Master student, solid C programming skills. Takes place the last time in this form. | W | 6 credits | 3V + 2U | M. Püschel | |

Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for mathematical functionality such as matrix operations, transforms, and others. The focus is on optimizing for a single core. This includes optimizing for the memory hierarchy, for special instruction sets, and the possible use of automatic performance tuning. | |||||

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. | |||||

Focus Elective Courses Computational Science | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

252-0526-00L | Statistical Learning Theory | W | 7 credits | 3V + 2U + 1A | J. M. Buhmann | |

Abstract | The course covers advanced methods of statistical learning : Statistical learning theory;variational methods and optimization, e.g., maximum entropy techniques, information bottleneck, deterministic and simulated annealing; clustering for vectorial, histogram and relational data; model selection; graphical models. | |||||

Objective | The course surveys recent methods of statistical learning. The fundamentals of machine learning as presented in the course "Introduction to Machine Learning" are expanded and in particular, the theory of statistical learning is discussed. | |||||

Content | # Theory of estimators: How can we measure the quality of a statistical estimator? We already discussed bias and variance of estimators very briefly, but the interesting part is yet to come. # Variational methods and optimization: We consider optimization approaches for problems where the optimizer is a probability distribution. Concepts we will discuss in this context include: * Maximum Entropy * Information Bottleneck * Deterministic Annealing # Clustering: The problem of sorting data into groups without using training samples. This requires a definition of ``similarity'' between data points and adequate optimization procedures. # Model selection: We have already discussed how to fit a model to a data set in ML I, which usually involved adjusting model parameters for a given type of model. Model selection refers to the question of how complex the chosen model should be. As we already know, simple and complex models both have advantages and drawbacks alike. # Statistical physics models: approaches for large systems approximate optimization, which originate in the statistical physics (free energy minimization applied to spin glasses and other models); sampling methods based on these models | |||||

Lecture notes | A draft of a script will be provided; transparencies of the lectures will be made available. | |||||

Literature | Hastie, Tibshirani, Friedman: The Elements of Statistical Learning, Springer, 2001. L. Devroye, L. Gyorfi, and G. Lugosi: A probabilistic theory of pattern recognition. Springer, New York, 1996 | |||||

Prerequisites / Notice | Requirements: knowledge of the Machine Learning course basic knowledge of statistics, interest in statistical methods. It is recommended that Introduction to Machine Learning (ML I) is taken first; but with a little extra effort Statistical Learning Theory can be followed without the introductory course. | |||||

261-5120-00L | Machine Learning for Health Care Number of participants limited to 78. Previously called Computational Biomedicine II | W | 4 credits | 3P | G. Rätsch | |

Abstract | The course will review the most relevant methods and applications of Machine Learning in Biomedicine, discuss the main challenges they present and their current technical problems. | |||||

Objective | During the last years, we have observed a rapid growth in the field of Machine Learning (ML), mainly due to improvements in ML algorithms, the increase of data availability and a reduction in computing costs. This growth is having a profound impact in biomedical applications, where the great variety of tasks and data types enables us to get benefit of ML algorithms in many different ways. In this course we will review the most relevant methods and applications of ML in biomedicine, discuss the main challenges they present and their current technical solutions. | |||||

Content | The course will consist of four topic clusters that will cover the most relevant applications of ML in Biomedicine: 1) Structured time series: Temporal time series of structured data often appear in biomedical datasets, presenting challenges as containing variables with different periodicities, being conditioned by static data, etc. 2) Medical notes: Vast amount of medical observations are stored in the form of free text, we will analyze stategies for extracting knowledge from them. 3) Medical images: Images are a fundamental piece of information in many medical disciplines. We will study how to train ML algorithms with them. 4) Genomics data: ML in genomics is still an emerging subfield, but given that genomics data are arguably the most extensive and complex datasets that can be found in biomedicine, it is expected that many relevant ML applications will arise in the near future. We will review and discuss current applications and challenges. | |||||

Prerequisites / Notice | Data Structures & Algorithms, Introduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line Relation to Course 261-5100-00 Computational Biomedicine: This course is a continuation of the previous course with new topics related to medical data and machine learning. The format of Computational Biomedicine II will also be different. It is helpful but not essential to attend Computational Biomedicine before attending Computational Biomedicine II. | |||||

Seminar in Computational Science | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

252-5704-00L | Advanced Methods in Computer Graphics Number of participants limited to 24. 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. | W | 2 credits | 2S | M. Gross, O. Sorkine Hornung | |

Abstract | This seminar covers advanced topics in computer graphics with a focus on the latest research results. Topics include modeling, rendering, visualization, animation, physical simulation, computational photography, and others. | |||||

Objective | The goal is to obtain an in-depth understanding of actual problems and research topics in the field of computer graphics as well as improve presentation and critical analysis skills. | |||||

261-5113-00L | Computational Challenges in Medical Genomics Number of participants limited to 20. | W | 2 credits | 2S | A. Kahles, G. Rätsch | |

Abstract | This seminar discusses recent relevant contributions to the fields of computational genomics, algorithmic bioinformatics, statistical genetics and related areas. Each participant will hold a presentation and lead the subsequent discussion. | |||||

Objective | Preparing and holding a scientific presentation in front of peers is a central part of working in the scientific domain. In this seminar, the participants will learn how to efficiently summarize the relevant parts of a scientific publication, critically reflect its contents, and summarize it for presentation to an audience. The necessary skills to succesfully present the key points of existing research work are the same as needed to communicate own research ideas. In addition to holding a presentation, each student will both contribute to as well as lead a discussion section on the topics presented in the class. | |||||

Content | The topics covered in the seminar are related to recent computational challenges that arise from the fields of genomics and biomedicine, including but not limited to genomic variant interpretation, genomic sequence analysis, compressive genomics tasks, single-cell approaches, privacy considerations, statistical frameworks, etc. Both recently published works contributing novel ideas to the areas mentioned above as well as seminal contributions from the past are amongst the list of selected papers. | |||||

Prerequisites / Notice | Knowledge of algorithms and data structures and interest in applications in genomics and computational biomedicine. | |||||

Focus Courses in Distributed Systems | ||||||

Focus Core Courses Distributed Systems | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

227-0558-00L | Principles of Distributed Computing | W | 6 credits | 2V + 2U + 1A | R. Wattenhofer, M. Ghaffari | |

Abstract | We study the fundamental issues underlying the design of distributed systems: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques. | |||||

Objective | Distributed computing is essential in modern computing and communications systems. Examples are on the one hand large-scale networks such as the Internet, and on the other hand multiprocessors such as your new multi-core laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We will cover a fresh topic every week. | |||||

Content | Distributed computing models and paradigms, e.g. message passing, shared memory, synchronous vs. asynchronous systems, time and message complexity, peer-to-peer systems, small-world networks, social networks, sorting networks, wireless communication, and self-organizing systems. Distributed algorithms, e.g. leader election, coloring, covering, packing, decomposition, spanning trees, mutual exclusion, store and collect, arrow, ivy, synchronizers, diameter, all-pairs-shortest-path, wake-up, and lower bounds | |||||

Lecture notes | Available. Our course script is used at dozens of other universities around the world. | |||||

Literature | Lecture Notes By Roger Wattenhofer. These lecture notes are taught at about a dozen different universities through the world. Distributed Computing: Fundamentals, Simulations and Advanced Topics Hagit Attiya, Jennifer Welch. McGraw-Hill Publishing, 1998, ISBN 0-07-709352 6 Introduction to Algorithms Thomas Cormen, Charles Leiserson, Ronald Rivest. The MIT Press, 1998, ISBN 0-262-53091-0 oder 0-262-03141-8 Disseminatin of Information in Communication Networks Juraj Hromkovic, Ralf Klasing, Andrzej Pelc, Peter Ruzicka, Walter Unger. Springer-Verlag, Berlin Heidelberg, 2005, ISBN 3-540-00846-2 Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes Frank Thomson Leighton. Morgan Kaufmann Publishers Inc., San Francisco, CA, 1991, ISBN 1-55860-117-1 Distributed Computing: A Locality-Sensitive Approach David Peleg. Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8 | |||||

Prerequisites / Notice | Course pre-requisites: Interest in algorithmic problems. (No particular course needed.) | |||||

263-3800-00L | Advanced Operating Systems | W | 6 credits | 2V + 2U + 1A | T. Roscoe | |

Abstract | This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems, with a particular emphasis on the challenges of modern hardware features. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems. | |||||

Objective | The goals of the course are, firstly, to give students: 1. A broader perspective on OS design than that provided by knowledge of Unix or Windows, building on the material in a standard undergraduate operating systems class 2. Practical experience in dealing directly with the concurrency, resource management, and abstraction problems confronting OS designers and implementers 3. A glimpse into future directions for the evolution of OS and computer hardware design | |||||

Content | The course is based on practical implementation work, in C and assembly language, and requires solid knowledge of both. The work is mostly carried out in teams of 3-4, using real hardware, and is a mixture of team milestones and individual projects which fit together into a complete system at the end. Emphasis is also placed on a final report which details the complete finished artifact, evaluates its performance, and discusses the choices the team made while building it. | |||||

Prerequisites / Notice | The course is based around a milestone-oriented project, where students work in small groups to implement major components of a microkernel-based operating system. The final assessment will be a combination grades awarded for milestones during the course of the project, a final written report on the work, and a set of test cases run on the final code. | |||||

Focus Elective Courses Distributed Systems | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

252-0312-00L | Ubiquitous Computing | W | 3 credits | 2V | F. Mattern, S. Mayer | |

Abstract | Ubiquitous computing integrates tiny wirelessly connected computers and sensors into the environment and everyday objects. Main topics: The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||

Objective | The vision of ubiquitous computing, trends in technology, smart cards, RFID, Personal Area Networks (Bluetooth), sensor networks, location awareness, privacy and security, application areas, economic and social impact. | |||||

Lecture notes | Copies of slides will be made available | |||||

Literature | Will be provided in the lecture. To put you in the mood: Mark Weiser: The Computer for the 21st Century. Scientific American, September 1991, pp. 94-104 | |||||

252-0817-00L | Distributed Systems Laboratory In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | G. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang | |

Abstract | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. | |||||

Objective | Students acquire practical knowledge about technologies from the area of distributed systems. | |||||

Content | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on mobile phones. The objecte of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course. For information of the course or projects available, please contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso. | |||||

263-3501-00L | Future Internet Previously called Advanced Computer Networks | W | 6 credits | 1V + 1U + 3A | A. Singla | |

Abstract | This course will discuss recent advances in networking, with a focus on the Internet, with topics ranging from the algorithmic design of applications like video streaming to the likely near-future of satellite-based networking. | |||||

Objective | The goals of the course are to build on basic undergraduate-level networking, and provide an understanding of the tradeoffs and existing technology in the design of large, complex networked systems, together with concrete experience of the challenges through a series of lab exercises. | |||||

Content | The focus of the course is on principles, architectures, protocols, and applications used in modern networked systems. Example topics include: - How video streaming services like Netflix work, and research on improving their performance. - How Web browsing could be made faster - How the Internet's protocols are improving - Exciting developments in satellite-based networking (ala SpaceX) - The role of data centers in powering Internet services A series of programming assignments will form a substantial part of the course grade. | |||||

Lecture notes | Lecture slides will be made available at the course Web site: https://ndal.ethz.ch/courses/fi.html | |||||

Literature | No textbook is required, but there will be regularly assigned readings from research literature, liked to the course Web site: https://ndal.ethz.ch/courses/fi.html. | |||||

Prerequisites / Notice | An undergraduate class covering the basics of networking, such as Internet routing and TCP. At ETH, Computer Networks (252-0064-00L) and Communication Networks (227-0120-00L) suffice. Similar courses from other universities are acceptable too. | |||||

263-3710-00L | Machine Perception Number of participants limited to 150. | W | 5 credits | 2V + 1U + 1A | O. Hilliges | |

Abstract | Recent developments in neural networks (aka “deep learning”) have drastically advanced the performance of machine perception systems in a variety of areas including computer vision, robotics, and intelligent UIs. This course is a deep dive into deep learning algorithms and architectures with applications to a variety of perceptual tasks. | |||||

Objective | Students will learn about fundamental aspects of modern deep learning approaches for perception. Students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in learning-based computer vision, robotics and HCI. The final project assignment will involve training a complex neural network architecture and applying it on a real-world dataset of human activity. The core competency acquired through this course is a solid foundation in deep-learning algorithms to process and interpret human input into computing systems. In particular, students should be able to develop systems that deal with the problem of recognizing people in images, detecting and describing body parts, inferring their spatial configuration, performing action/gesture recognition from still images or image sequences, also considering multi-modal data, among others. | |||||

Content | We will focus on teaching: how to set up the problem of machine perception, the learning algorithms, network architectures and advanced deep learning concepts in particular probabilistic deep learning models The course covers the following main areas: I) Foundations of deep-learning. II) Probabilistic deep-learning for generative modelling of data (latent variable models, generative adversarial networks and auto-regressive models). III) Deep learning in computer vision, human-computer interaction and robotics. Specific topics include: I) Deep learning basics: a) Neural Networks and training (i.e., backpropagation) b) Feedforward Networks c) Timeseries modelling (RNN, GRU, LSTM) d) Convolutional Neural Networks for classification II) Probabilistic Deep Learning: a) Latent variable models (VAEs) b) Generative adversarial networks (GANs) c) Autoregressive models (PixelCNN, PixelRNN, TCNs) III) Deep Learning techniques for machine perception: a) Fully Convolutional architectures for dense per-pixel tasks (i.e., instance segmentation) b) Pose estimation and other tasks involving human activity c) Deep reinforcement learning IV) Case studies from research in computer vision, HCI, robotics and signal processing | |||||

Literature | Deep Learning Book by Ian Goodfellow and Yoshua Bengio | |||||

Prerequisites / Notice | This is an advanced grad-level course that requires a background in machine learning. Students are expected to have a solid mathematical foundation, in particular in linear algebra, multivariate calculus, and probability. The course will focus on state-of-the-art research in deep-learning and will not repeat basics of machine learning Please take note of the following conditions: 1) The number of participants is limited to 150 students (MSc and PhDs). 2) Students must have taken the exam in Machine Learning (252-0535-00) or have acquired equivalent knowledge 3) All practical exercises will require basic knowledge of Python and will use libraries such as TensorFlow, scikit-learn and scikit-image. We will provide introductions to TensorFlow and other libraries that are needed but will not provide introductions to basic programming or Python. The following courses are strongly recommended as prerequisite: * "Visual Computing" or "Computer Vision" The course will be assessed by a final written examination in English. No course materials or electronic devices can be used during the examination. Note that the examination will be based on the contents of the lectures, the associated reading materials and the exercises. | |||||

263-3826-00L | Data Stream Processing and Analytics | W | 6 credits | 2V + 2U + 1A | V. Kalavri | |

Abstract | The course covers fundamentals of large-scale data stream processing. The focus is on the design and architecture of modern distributed streaming systems as well as algorithms for analyzing data streams. | |||||

Objective | This course has the goal of providing an overview of the data stream processing model and introducing modern platforms and tools for anlayzing massive data streams. By the end of the course, students should be able to use techniques for extracting knowledge from continuous, fast data streams. They will also have gained a deep understanding of the design and implementation of modern distributed stream processors through a series of hands-on exercises. | |||||

Content | Modern data-driven applications require continuous, low-latency processing of large-scale, rapid data events such as videos, images, emails, chats, clicks, search queries, financial transactions, traffic records, sensor measurements, etc. Extracting knowledge from these data streams is particularly challenging due to their high speed and massive volume. Distributed stream processing has recently become highly popular across industry and academia due to its capabilities to both improve established data processing tasks and to facilitate novel applications with real-time requirements. In this course, we will study the design and architecture of modern distributed streaming systems as well as fundamental algorithms for analyzing data streams. | |||||

Lecture notes | Schedule and lecture notes will be posted in the course website: https://www.systems.ethz.ch/courses/spring2019/dspa/ | |||||

Prerequisites / Notice | The exercise sessions will be a mixture of (1) reviews, discussions, and evaluation of research papers on data stream processing, and (2) programming assignments on implementing data stream mining algorithms and anlysis tasks. - Basic knowledge of relational data management and distributed systems. - Basic programming skills in Java and/or Rust is necessary to carry out the practical exercises and final project. | |||||

Seminar in Distributed Systems | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

263-2211-00L | Seminar in Computer Architecture Number of participants limited to 22. 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. | W | 2 credits | 2S | O. Mutlu, M. H. K. Alser, J. Gómez Luna | |

Abstract | In this seminar course, we will cover fundamental and cutting-edge research papers in computer architecture. The course will consist of multiple components that are aimed at improving students' technical skills in computer architecture, critical thinking and analysis on computer architecture concepts, as well as technical presentation of concepts and papers in both spoken and written forms. | |||||

Objective | The main objective is to learn how to rigorously analyze and present papers and ideas computer architecture. We will have rigorous presentation and discussion of selected papers during lectures and a written report delivered by each student at the end of the semester. This course is for those interested in computer architecture. Registered students are expected to attend every lecture and participate in the discussion. | |||||

Content | Topics will center around computer architecture. We will, for example, discuss papers on hardware security; architectural acceleration mechanisms for key applications like machine learning, graph processing and bioinformatics; memory systems; interconnects; processing inside memory; various fundamental and emerging paradigms in computer architecture; hardware/software co-design and cooperation; fault tolerance; energy efficiency; heterogeneous and parallel systems; new execution models, etc. | |||||

Literature | Key papers and articles, on both fundamentals and cutting-edge topics in computer architecture will be provided and discussed. These will be posted on the course website. | |||||

263-3712-00L | Seminar on Computational Interaction Number of participants limited to 14. 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. | W | 2 credits | 2S | O. Hilliges | |

Abstract | Computational Interaction focuses on the use of algorithms to enhance the interaction with a computing system. Papers from scientific venues such as CHI, UIST & SIGGRAPH will be examined in-depth. Student present and discuss the papers to extract techniques and insights that can be applied to software & hardware projects. Topics include user modeling, computational design, and input & output. | |||||

Objective | The goal of the seminar is to familiarize students with exciting new research topics in this important area, but also to teach basic scientific writing and oral presentation skills. | |||||

Content | The seminar will have a different structure from regular seminars to encourage more discussion and a deeper learning experience. We will use a case-study format where all students read the same paper each week but fulfill different roles and hence prepare with different viewpoints in mind (e.g. "presenter", "historian", "student", etc). The seminar will cover multiple topics of computational interaction, including: 1) User- and context modeling for UI adaptation Intent modeling, activity and emotion recognition, and user perception. 2) Computational design Design mining, design exploration, UI optimization. 3) Computer supported input Text entry, pointing, gestural input, physiological sensing, eye tracking, and sketching. 4) Computer supported output Information retrieval, fabrication, mixed reality interfaces, haptics, and gaze contingency For each topic, a paper will be chosen that represents the state of the art of research or seminal work that inspired and fostered future work. Student will learn how to incorporate computational methods into system that involve software, hardware, and, very importantly, users. Seminar website: https://ait.ethz.ch/teaching/courses/2019-SS-Seminar-Computational-Interaction/ | |||||

263-3840-00L | Hardware Architectures for Machine Learning 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. | W | 2 credits | 2S | G. Alonso, T. Hoefler, C. Zhang | |

Abstract | The seminar covers recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers. | |||||

Objective | The seminar aims at students interested in the system aspects of machine learning, who are willing to bridge the gap across traditional disciplines: machine learning, databases, systems, and computer architecture. | |||||

Content | The seminar is intended to cover recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers. | |||||

Prerequisites / Notice | The seminar should be of special interest to students intending to complete a master's thesis or a doctoral dissertation in related topics. | |||||

227-0126-00L | Advanced Topics in Networked Embedded Systems | W | 2 credits | 1S | L. Thiele, J. Beutel, Z. Zhou | |

Abstract | The seminar will cover advanced topics in networked embedded systems. A particular focus are cyber-physical systems and sensor networks in various application domains. | |||||

Objective | The goal is to get a deeper understanding on leading edge technologies in the discipline, on classes of applications, and on current as well as future research directions. | |||||

Content | The seminar enables Master students, PhDs and Postdocs to learn about latest breakthroughs in wireless sensor networks, networked embedded systems and devices, and energy-harvesting in several application domains, including environmental monitoring, tracking, smart buildings and control. Participants are requested to actively participate in the organization and preparation of the seminar. | |||||

227-0559-00L | Seminar in Deep Reinforcement Learning Number of participants limited to 24. | W | 2 credits | 2S | R. Wattenhofer, O. Richter | |

Abstract | In this seminar participating students present and discuss recent research papers in the area of deep reinforcement learning. The seminar starts with two introductory lessons introducing the basic concepts. Alongside the seminar a programming challenge is posed in which students can take part to improve their grade. | |||||

Objective | Since Google Deepmind presented the Deep Q-Network (DQN) algorithm in 2015 that could play Atari-2600 games at a superhuman level, the field of deep reinforcement learning gained a lot of traction. It sparked media attention with AlphaGo and AlphaZero and is one of the most prominent research areas. Yet many research papers in the area come from one of two sources: Google Deepmind or OpenAI. In this seminar we aim at giving the students an in depth view on the current advances in the area by discussing recent papers as well as discussing current issues and difficulties surrounding deep reinforcement learning. | |||||

Content | Two introductory courses introducing Q-learning and policy gradient methods. Afterwards participating students present recent papers. For details see: www.disco.ethz.ch/courses.html | |||||

Lecture notes | Slides of presentations will be made available. | |||||

Literature | OpenAI course (https://spinningup.openai.com/en/latest/) plus selected papers. The paper selection can be found on www.disco.ethz.ch/courses.html. | |||||

Prerequisites / Notice | It is expected that student have prior knowledge and interest in machine and deep learning, for instance by having attended appropriate courses. | |||||

851-0740-00L | Big Data, Law, and Policy Number of participants limited to 35 Students will be informed by 3.3.2019 at the latest. | W | 3 credits | 2S | S. Bechtold, T. Roscoe, E. Vayena | |

Abstract | This course introduces students to societal perspectives on the big data revolution. Discussing important contributions from machine learning and data science, the course explores their legal, economic, ethical, and political implications in the past, present, and future. | |||||

Objective | This course is intended both for students of machine learning and data science who want to reflect on the societal implications of their field, and for students from other disciplines who want to explore the societal impact of data sciences. The course will first discuss some of the methodological foundations of machine learning, followed by a discussion of research papers and real-world applications where big data and societal values may clash. Potential topics include the implications of big data for privacy, liability, insurance, health systems, voting, and democratic institutions, as well as the use of predictive algorithms for price discrimination and the criminal justice system. Guest speakers, weekly readings and reaction papers ensure a lively debate among participants from various backgrounds. | |||||

Focus Courses in Information Security | ||||||

Focus Core Courses Information Security | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

252-0407-00L | Cryptography Foundations Takes place the last time in this form. | W | 7 credits | 3V + 2U + 1A | U. Maurer | |

Abstract | Fundamentals and applications of cryptography. Cryptography as a mathematical discipline: reductions, constructive cryptography paradigm, security proofs. The discussed primitives include cryptographic functions, pseudo-randomness, symmetric encryption and authentication, public-key encryption, key agreement, and digital signature schemes. Selected cryptanalytic techniques. | |||||

Objective | The goals are: (1) understand the basic theoretical concepts and scientific thinking in cryptography; (2) understand and apply some core cryptographic techniques and security proof methods; (3) be prepared and motivated to access the scientific literature and attend specialized courses in cryptography. | |||||

Content | See course description. | |||||

Lecture notes | yes. | |||||

Prerequisites / Notice | Familiarity with the basic cryptographic concepts as treated for example in the course "Information Security" is required but can in principle also be acquired in parallel to attending the course. | |||||

Focus Elective Courses Information Security | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |

252-0408-00L | Cryptographic Protocols | W | 5 credits | 2V + 2U | 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. | |||||

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. |

- Page 1 of 6 All