Search result: Catalogue data in Spring Semester 2018

Computer Science Bachelor Information
Bachelor Studies (Programme Regulations 2016)
First Year Examinations
First Year Examination Block 1
Offered in the autumn semester.
First Year Examination Block 2
NumberTitleTypeECTSHoursLecturers
401-0212-16LAnalysis I Information O7 credits4V + 2UE. Kowalski
AbstractReal and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable
ObjectiveReal and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable
ContentReal and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable
LiteratureMichael Struwe: Analysis für Informatik
Christian Blatter: Ingenieur-analysis
Tom Apostol: Mathematical Analysis
Teaching materials and further information is available through the course website (Link)
252-0028-00LDesign of Digital Circuits Information O7 credits4V + 2UO. Mutlu
AbstractThe class provides an introduction to the design of digital circuitry. The class covers the basics of the technical foundations of gates. An introduction to hardware description languages and their use in the design process follows.
ObjectiveThe class provides an introduction to the design of digital circuitry. The class covers the basics of the technical foundations of gates. An introduction to hardware description languages and their use in the design process follows.
ContentThe class provides an introduction to the design of digital circuitry. The class covers the basics of the technical foundations of gates. An introduction to hardware description languages and their use in the design process follows.
252-0029-00LParallel Programming Information O7 credits4V + 2UT. Hoefler, M. Vechev
AbstractIntroduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness.
ObjectiveThe student should learn how to write a correct parallel program, how to measure its efficiency, and how to reason about a parallel program. Student should become familiar with issues, problems, pitfalls, and solutions related to the construction of parallel programs. Labs provide an opportunity to gain experience with threads, libraries for thread management in modern programming lanugages (e.g., Java, C#) and with the execution of parallel programs on multi-processor/multi-core computers.
252-0030-00LAlgorithms and Probability Information O7 credits4V + 2UA. Steger, E. Welzl
AbstractFortsetzung der Vorlesung Algorithmen und Datenstrukturen des ersten Semesters. Es werden klassische Algorithmen aus verschiedenen Anwendungsbereichen vorgestellt. In die diskrete Wahrscheinlichkeitstheorie wird eingeführt und das Konzept randomisierter Algorithmen an verschiedenen Beispielen vorgestellt.
ObjectiveVerständnis des Entwurfs und der Analyse von Algorithmen. Grundlagen der diskreten Wahrscheinlichkeitstheorie und ihrer Anwendung in der Algorithmik.
Basic Courses
NumberTitleTypeECTSHoursLecturers
252-0058-00LFormal Methods and Functional Programming Information O7 credits4V + 2UD. Basin, P. Müller
AbstractIn this course, participants will learn about new ways of specifying, reasoning about, and developing programs and computer systems. The first half will focus on using functional programs to express and reason about computation. The second half presents methods for developing and verifying programs represented as discrete transition systems.
ObjectiveIn this course, participants will learn about new ways of specifying,
reasoning about, and developing programs and computer systems. Our objective is to help students raise their level of abstraction in modeling and implementing systems.
ContentThe first part of the course will focus on designing and reasoning
about functional programs. Functional programs are mathematical
expressions that are evaluated and reasoned about much like ordinary
mathematical functions. As a result, these expressions are simple to
analyze and compose to implement large-scale programs. We will cover the mathematical foundations of functional programming, the lambda calculus, as well as higher-order programming, typing, and proofs of correctness.

The second part of the course will focus on deductive and algorithmic validation of programs modeled as transition systems. As an example of deductive verification, students will learn how to formalize the semantics of imperative programming languages and how to use a formal semantics to prove properties of languages and programs. As an example of algorithmic validation, the course will introduce model checking and apply it to programs and program designs.
252-0063-00LData Modelling and Databases Information O7 credits4V + 2UG. Alonso, C. Zhang
AbstractData modelling (Entity Relationship), relational data model, relational design theory (normal forms), SQL, database integrity, transactions and advanced database engines
ObjectiveIntroduction to relational databases and data management. Basics of SQL programming and transaction management.
ContentThe course covers the basic aspects of the design and implementation of databases and information systems. The courses focuses on relational databases as a starting point but will also cover data management issues beyond databases such as: transactional consistency, replication, data warehousing, other data models, as well as SQL.
LiteratureKemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 7. Auflage, 2009.

Garcia-Molina, Ullman, Widom: Database Systems: The Complete Book. Pearson, 2. Auflage, 2008.
252-0064-00LComputer Networks Information O7 credits4V + 2UA. Perrig, A. Singla
AbstractThis introductory course on computer networking takes a top-down view from networked applications all through the physical layer.
ObjectiveStudents will get a comprehensive overview of the key protocols and the architecture of the Internet, as one example of more general principles in network design. Students will also acquire hands-on experience in programming different aspects of a computer networks. Apart from the state-of-the-art in networking practice, students will explore the rationale for the design choices that networks in the past have made, and where applicable, why these choices may no longer be ideal.
Lecture notesThe slides for each lecture will be made available through the course Web page, along with additional reference material.
LiteratureComputer Networking: A Top-Down Approach, James F. Kurose and Keith W. Ross. Pearson; 7th edition (May 6, 2016)
Prerequisites / NoticeThe course includes 2-4 graded programming assignments, which together will enable students to obtain a bonus of up to 15% of the final grade.
401-0614-00LProbability and Statistics Information O5 credits2V + 2UP. Cheridito
AbstractEinführung in die Wahrscheinlichkeitstheorie und Statistik
Objectivea) Fähigkeit, die behandelten wahrscheinlichkeitstheoretischen Methoden zu verstehen und anzuwenden

b) Probabilistisches Denken und stochastische Modellierung

c) Fähigkeit, einfache statistische Tests selbst durchzuführen und die Resultate zu interpretieren
ContentWahrscheinlichkeitsraum, Wahrscheinlichkeitsmass, Zufallsvariablen, Verteilungen, Dichten, Unabhängigkeit, bedingte Wahrscheinlichkeiten, Erwartungswert, Varianz, Kovarianz, Gesetz der grossen Zahlen, Zentraler Grenzwertsatz, grosse Abweichungen, Chernoff-Schranken, Maximum-Likelihood-Schätzer, Momentenschätzer, Tests, Neyman-Pearson Lemma, Konfidenzintervalle, lineare Regression
Lecture notesLernmaterialien sind erhältlich auf Link
Core Courses
Major: Systems and Software Engineering
NumberTitleTypeECTSHoursLecturers
252-0210-00LCompiler DesignO8 credits4V + 3UT. Gross
AbstractThis course uses compilers as example to expose modern software development techniques.
Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: conditionals, loops, procedure calls, simple register allocation techniques.
ObjectiveLearn principles of compiler design, gain practical experience designing and implementing a medium-scale software system.
ContentThis course uses compilers as example to expose modern software development techniques. The course introduces the students to the fundamentals of compiler construction. Students will implement a simple yet complete compiler for an object-oriented programming language for a realistic target machine. Students will learn the use of appropriate tools (parser generators); the implementation language is Java. Throughout the course, students learn to apply their knowledge of theory (automata, grammars, stack machines, program transformation) and well-known programming techniques (module definitions, design patterns, frameworks, software reuse) in a software project.
Specific topics: Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: expression evaluation, straight line code, conditionals, loops, procedure calls, simple register allocation techniques. Storage allocation on the stack, parameter passing, runtime storage management, heaps. Special topics as time permits: introduction to global dataflow and its application to register allocation, instruction scheduling, practical application of the techniques and principles presented in the lecture in the context of the OpenJDK HotSpot Java Virtual Machine.
LiteratureAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Prerequisites / NoticePrerequisites:
Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level.
252-0216-00LSoftware Architecture and Engineering Information O8 credits4V + 3UP. Müller, M. Vechev
AbstractThis 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
ObjectiveThe course has two main objectives:

- Obtain an end-to-end (both, theoretical and practical) understanding of the core techniques used for building quality software.

- Understand how to apply these techniques in practice.
ContentSome 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
LiteratureWill be announced in the lecture.
Major: Information and Data Processing
NumberTitleTypeECTSHoursLecturers
252-0220-00LIntroduction to Machine Learning Information
Previously called Learning and Intelligent Systems

Prof. Krause approves that students take distance exams, also if the exam will take place at a later time due to a different time zone of the alternative exam place.
To get Prof. Krause's signature on the distance exam form please send it to Rita Klute, Link.
O8 credits4V + 2U + 1AA. Krause
AbstractThe course introduces the foundations of learning and making predictions based on data.
ObjectiveThe course will introduce the foundations of learning and making predictions from data. We will study basic concepts such as trading goodness of fit and model complexitiy. We will discuss important machine learning algorithms used in practice, and provide hands-on experience in a course project.
Content- Linear regression (overfitting, cross-validation/bootstrap, model selection, regularization, [stochastic] gradient descent)
- Linear classification: Logistic regression (feature selection, sparsity, multi-class)
- Kernels and the kernel trick (Properties of kernels; applications to linear and logistic regression; k-NN
- The statistical perspective (regularization as prior; loss as likelihood; learning as MAP inference)
- Statistical decision theory (decision making based on statistical models and utility functions)
- Discriminative vs. generative modeling (benefits and challenges in modeling joint vy. conditional distributions)
- Bayes' classifiers (Naive Bayes, Gaussian Bayes; MLE)
- Bayesian networks and exact inference (conditional independence; variable elimination; TANs)
- Approximate inference (sum/max product; Gibbs sampling)
- Latent variable models (Gaussian Misture Models, EM Algorithm)
- Temporal models (Bayesian filtering, Hidden Markov Models)
- Sequential decision making (MDPs, value and policy iteration)
- Reinforcement learning (model-based RL, Q-learning)
LiteratureTextbook: Kevin Murphy: A Probabilistic Perspective, MIT Press
Prerequisites / NoticeDesigned to provide basis for following courses:
- Advanced Machine Learning
- Data Mining: Learning from Large Data Sets
- Probabilistic Artificial Intelligence
- Probabilistic Graphical Models
- Seminar "Advanced Topics in Machine Learning"
Major: Theoretical Computer Science
NumberTitleTypeECTSHoursLecturers
252-0211-00LInformation Security Information O8 credits4V + 3UD. Basin, S. Capkun
AbstractThis course provides an introduction to Information Security. The focus
is on fundamental concepts and models, basic cryptography, protocols and system security, and privacy and data protection. While the emphasis is on foundations, case studies will be given that examine different realizations of these ideas in practice.
ObjectiveMaster fundamental concepts in Information Security and their
application to system building. (See objectives listed below for more details).
Content1. Introduction and Motivation (OBJECTIVE: Broad conceptual overview of information security) Motivation: implications of IT on society/economy, Classical security problems, Approaches to
defining security and security goals, Abstractions, assumptions, and trust, Risk management and the human factor, Course verview. 2. Foundations of Cryptography (OBJECTIVE: Understand basic
cryptographic mechanisms and applications) Introduction, Basic concepts in cryptography: Overview, Types of Security, computational hardness, Abstraction of channel security properties, Symmetric
encryption, Hash functions, Message authentication codes, Public-key distribution, Public-key cryptosystems, Digital signatures, Application case studies, Comparison of encryption at different layers, VPN, SSL, Digital payment systems, blind signatures, e-cash, Time stamping 3. Key Management and Public-key Infrastructures (OBJECTIVE: Understand the basic mechanisms relevant in an Internet context) Key management in distributed systems, Exact characterization of requirements, the role of trust, Public-key Certificates, Public-key Infrastructures, Digital evidence and non-repudiation, Application case studies, Kerberos, X.509, PGP. 4. Security Protocols (OBJECTIVE: Understand network-oriented security, i.e.. how to employ building blocks to secure applications in (open) networks) Introduction, Requirements/properties, Establishing shared secrets, Principal and message origin authentication, Environmental assumptions, Dolev-Yao intruder model and
variants, Illustrative examples, Formal models and reasoning, Trace-based interleaving semantics, Inductive verification, or model-checking for falsification, Techniques for protocol design,
Application case study 1: from Needham-Schroeder Shared-Key to Kerberos, Application case study 2: from DH to IKE. 5. Access Control and Security Policies (OBJECTIVES: Study system-oriented security, i.e., policies, models, and mechanisms) Motivation (relationship to CIA, relationship to Crypto) and examples Concepts: policies versus models versus mechanisms, DAC and MAC, Modeling formalism, Access Control Matrix Model, Roll Based Access Control, Bell-LaPadula, Harrison-Ruzzo-Ullmann, Information flow, Chinese Wall, Biba, Clark-Wilson, System mechanisms: Operating Systems, Hardware Security Features, Reference Monitors, File-system protection, Application case studies 6. Anonymity and Privacy (OBJECTIVE: examine protection goals beyond standard CIA and corresponding mechanisms) Motivation and Definitions, Privacy, policies and policy languages, mechanisms, problems, Anonymity: simple mechanisms (pseudonyms, proxies), Application case studies: mix networks and crowds. 7. Larger application case study: GSM, mobility
Electives
NumberTitleTypeECTSHoursLecturers
252-0055-00LInformation Theory Information W4 credits2V + 1UL. Haug
AbstractThe course covers the fundamental concepts of Shannon's information theory.
The most important topics are: Entropy, information, data compression, channel coding, codes.
ObjectiveThe goal of the course is to familiarize with the theoretical fundamentals of information theory and to illustrate the practical use of the theory with the help of selected examples of data compression and coding.
ContentIntroduction and motivation, basics of probability theory, entropy and information, Kraft inequality, bounds on expected length of source codes, Huffman coding, asymptotic equipartition property and typical sequences, Shannon's source coding theorem, channel capacity and channel coding, Shannon's noisy channel coding theorem, examples
LiteratureT. Cover, J. Thomas: Elements of Information Theory, John Wiley, 1991.

D. MacKay, Information Theory, Inference and Learning Algorithms, Cambridge University Press, 2003.

C. Shannon, The Mathematical Theory of Communication, 1948.
252-0341-01LInformation Retrieval Information W4 credits2V + 1UG. Fourny
AbstractIntroduction to information retrieval with a focus on text documents and images.

Main topics comprise extraction of characteristic features from documents, index structures, retrieval models, search algorithms, benchmarking, and feedback mechanisms. Searching the web, images and XML collections demonstrate recent applications of information retrieval and their implementation.
ObjectiveIn depth understanding of how to model, index and query unstructured data (text), the vector space model, boolean queries, terms, posting lists, dealing with errors and imprecision.

Knowledge on how to make queries faster and how to make queries work on very large datasets. Knowledge on how to evaluate the quality of an information retrieval engine.

Knowledge about alternate models (structured data, probabilistic retrieval, language models) as well as basic search algorithms on the web such as Google's PageRank.
ContentTentative plan (subject to change). The lecture structure will follow the pedagogical approach of the book (see below).

The field of information retrieval also encompasses machine learning aspects. However, we will make a conscious effort to limit overlaps, and be complementary with, the Introduction to Machine Learning lecture.

1. Introduction

2. The basics of how to index and query unstructured data

3. Pre-processing the data prior to indexing: building the term vocabulary, posting lists

4. Dealing with spelling errors: tolerant retrieval

5. Scaling up to large datasets

6. How to improve performance by compressing the index

7. Ranking the results: scores and the vector space model

8. Evaluating the quality of information retrieval: relevance

9. Query expansion

10. Structured retrieval: when the data is not quite unstructured (XML or HTML)

11. Alternate approach: Probabilistic information retrieval

12. Alternate approach: Language models

13. Crawling the Web

14. Link analysis (PageRank)
LiteratureC. D. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval, Cambridge University Press.
Prerequisites / NoticePrior knowledge in linear algebra, data structures and algorithms, and probability theory (at the Bachelor's level) is required.
252-0820-00LCase Studies from Practice Information W4 credits2V + 1UM. Brandis
AbstractThe course is designed to provide students with an understanding of "real-life" computer science challenges in business settings and teach them how to address these.
ObjectiveBy using case studies that are based on actual IT projects, students will learn how to deal with complex, not straightforward problems. It will help them to apply their theoretical Computer Science background in practice and will teach them fundamental principles of IT management and challenges with IT in practice.
A particular focus is to make the often imprecise and fuzzy problems in practice accessible to factual analysis and reasoning, and to challenge "common wisdom" and hearsay.
ContentThe course consists of multiple lectures on methods to systematically analyze problems in a business setting and communicate about them as well as IT management and IT economics, presented by the lecturer, and a number of case studies provided by guest lecturers from either IT companies or IT departments of a diverse range of companies. Students will obtain insights into both established and startup companies, small and big, and different industries.
Presenting companies have included avaloq, Accenture, AdNovum, Bank Julius Bär, Credit Suisse, Deloitte, HP, Hotelcard, IBM Research, McKinsey & Company, Open Web Technology, SAP Research, Selfnation, SIX Group, Teralytics, 28msec, Zühlke and dormakaba, and Marc Brandis Strategic Consulting. The participating companies in spring 2017 will be announced at course start.
151-0116-10LHigh Performance Computing for Science and Engineering (HPCSE) for Engineers II Information W4 credits4GP. Koumoutsakos, P. Chatzidoukas
AbstractThis course focuses on programming methods and tools for parallel computing on multi and many-core architectures. Emphasis will be placed on practical and computational aspects of Uncertainty Quantification and Propagation including the implementation of relevant algorithms on HPC architectures.
ObjectiveThe course will teach
- programming models and tools for multi and many-core architectures
- fundamental concepts of Uncertainty Quantification and Propagation (UQ+P) for computational models of systems in Engineering and Life Sciences
ContentHigh Performance Computing:
- Advanced topics in shared-memory programming
- Advanced topics in MPI
- GPU architectures and CUDA programming

Uncertainty Quantification:
- Uncertainty quantification under parametric and non-parametric modeling uncertainty
- Bayesian inference with model class assessment
- Markov Chain Monte Carlo simulation
Lecture notesLink
Class notes, handouts
Literature- Class notes
- Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein
- CUDA by example, J. Sanders and E. Kandrot
- Data Analysis: A Bayesian Tutorial, Devinderjit Sivia
227-0124-00LEmbedded Systems Information W6 credits4GL. Thiele
AbstractAn embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. The course covers theoretical and practical aspects of embedded system design and includes a series of lab sessions.
ObjectiveUnderstanding specific requirements and problems arising in embedded system applications.

Understanding architectures and components, their hardware-software interfaces, the memory architecture, communication between components, embedded operating systems, real-time scheduling theory, shared resources, low-power and low-energy design as well as hardware architecture synthesis.

Using the formal models and methods in embedded system design in practical applications using the programming language C, the operating system FreeRTOS, a commercial embedded system platform and the associated design environment.
ContentAn embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. For example, they are part of industrial machines, agricultural and process industry devices, automobiles, medical equipment, cameras, household appliances, airplanes, sensor networks, internet-of-things, as well as mobile devices.

The focus of this lecture is on the design of embedded systems using formal models and methods as well as computer-based synthesis methods. Besides, the lecture is complemented by laboratory sessions where students learn to program in C, to base their design on the embedded operating systems FreeRTOS, to use a commercial embedded system platform including sensors, and to edit/debug via an integrated development environment.

Specifically the following topics will be covered in the course: Embedded system architectures and components, hardware-software interfaces and memory architecture, software design methodology, communication, embedded operating systems, real-time scheduling, shared resources, low-power and low-energy design, hardware architecture synthesis.

More information is available at Link .
Lecture notesThe following information will be available: Lecture material, publications, exercise sheets and laboratory documentation at Link .
LiteratureP. Marwedel: Embedded System Design, Springer, ISBN 978-3-319-56045-8, 2018.

G.C. Buttazzo: Hard Real-Time Computing Systems. Springer Verlag, ISBN 978-1-4614-0676-1, 2011.

Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017.

M. Wolf: Computers as Components – Principles of Embedded System Design. Morgan Kaufman Publishers, ISBN 978-0-128-05387-4, 2016.
Prerequisites / NoticePrerequisites: Basic knowledge in computer architectures and programming.
Minor Courses
In gewissen Fächern werden Vorbedingungen verlangt. Es liegt in der Verantwortung der Studierenden, sicherzustellen, dass diese Voraussetzungen erfüllt sind.
NumberTitleTypeECTSHoursLecturers
151-0854-00LAutonomous Mobile Robots Information W5 credits4GR. Siegwart, M. Chli, J. Nieto
AbstractThe objective of this course is to provide the basics required to develop autonomous mobile robots and systems. Main emphasis is put on mobile robot locomotion and kinematics, envionmen perception, and probabilistic environment modeling, localizatoin, mapping and navigation. Theory will be deepened by exercises with small mobile robots and discussed accross application examples.
ObjectiveThe objective of this course is to provide the basics required to develop autonomous mobile robots and systems. Main emphasis is put on mobile robot locomotion and kinematics, envionmen perception, and probabilistic environment modeling, localizatoin, mapping and navigation.
Lecture notesThis lecture is enhanced by around 30 small videos introducing the core topics, and multiple-choice questions for continuous self-evaluation. It is developed along the TORQUE (Tiny, Open-with-Restrictions courses focused on QUality and Effectiveness) concept, which is ETH's response to the popular MOOC (Massive Open Online Course) concept.
LiteratureThis lecture is based on the Textbook:
Introduction to Autonomous Mobile Robots
Roland Siegwart, Illah Nourbakhsh, Davide Scaramuzza, The MIT Press, Second Edition 2011, ISBN: 978-0262015356
227-0075-00LElectrical Engineering I Information W3 credits2V + 2UJ. Biela
AbstractBasic course in electrical engineering with the following topics: Concepts of voltage and currents; Analyses of dc and ac networks; Series and parallel resistive circuits, circuits including capacitors and inductors; Kirchhoff's laws and other network theorems; Transient responses; Basics of electrical and magnetic fields;
ObjectiveUnderstanding of the basic concepts in electrical engineering with focus on network theory. The successful student knows the basic components of electrical circuits and the network theorems after attending the course.
ContentDiese Vorlesung vermittelt Grundlagenkenntnisse im Fachgebiet Elektrotechnik. Ausgehend von den grundlegenden Konzepten der Spannung und des Stroms wird die Analyse von Netzwerken bei Gleich- und Wechselstrom behandelt. Dies schliesst Serie- und Parallelschaltungen von Widerstandsnetzwerken und Netzwerken mit Kapazitäten und Induktivitäten, wie auch die Kirchhoff'schen Gesetze zur Behandlung solcher Schaltungen und anderer Netzwerktheoreme mit ein. Weiterhin werden transiente Vorgänge in einfachen Netzwerken untersucht und grundlegende Konzepte von leistungselektronischen Konvertersystemen betrachtet.
Lecture notesVorlesungskript/-folien Elektrotechnik I über SPOD und als PDF im Moodle verfügbar
LiteratureFür das weitergehende Studium werden in der Vorlesung verschiedene Bücher vorgestellt.
227-0123-00LMechatronicsW6 credits4GT. M. Gempp
AbstractIntroduction into mechatronics. Sensors and actors. Electronic and hydraulic power amplifiers. Data processing and basics of real-time programming, multitasking, and multiprocessing. Modeling of mechatronical systems. Geometric, kinematical, and dynamic elements. Fundamentals of the systems theory. Examples from industrial applications.
ObjectiveIntroduction into the basics and technology of mechatronical devices. Theoretical and practical know-how of the basic elements of a mechatronical system.
ContentIntroduction into mechatronics. Sensors and actors. Electronic and hydraulic power amplifiers. Data processing and basics of real-time programming, multitasking, and multiprocessing. Modeling of mechatronical systems. Geometric, kinematical, and dynamic elements. Fundamentals of the systems theory. Examples from industrial applications.
Lecture notesRecommendation of textbook. Additional documentation to the individual topics. Documentation from industrial companies.
227-0707-00LOptimization Methods for EngineersW3 credits2GP. Leuchtmann
AbstractFirst half of the semester: Introduction to the main methods of numerical optimization with focus on stochastic methods such as genetic algorithms, evolutionary strategies, etc.
Second half of the semester: Each participant implements a selected optimizer and applies it on a problem of practical interest.
ObjectiveNumerical optimization is of increasing importance for the development of devices and for the design of numerical methods. The students shall learn to select, improve, and combine appropriate procedures for efficiently solving practical problems.
ContentTypical optimization problems and their difficulties are outlined. Well-known deterministic search strategies, combinatorial minimization, and evolutionary algorithms are presented and compared. In engineering, optimization problems are often very complex. Therefore, new techniques based on the generalization and combination of known methods are discussed. To illustrate the procedure, various problems of practical interest are presented and solved with different optimization codes.
Lecture notesPDF of a short script (32 pages) plus the view graphs are provided
Prerequisites / NoticeLecture in the first half of the semester, exercises in form of small projects in the second half, presentation of the results in the last week of the semester.
227-0803-00LEnergy, Resources, Environment: Risks and Prospects Information W6 credits4GO. Zenklusen, T. Flüeler
AbstractMultidisciplinary and interactive course analysing current debates on environmental and energy issues. Concepts such as risk, sustainable development and eco-efficiency are applied to case studies. Topics include: energy transition, nuclear energy and climate change, 2000-Watt-Society. The course is designed for a multidisciplinary audience and provides a training ground for critical thinking.
ObjectiveApply analytical tools from different disciplines to complex environmental issues. Understand interactions between the environment, science and technology, society and the economy. Develop skills in critical thinking as well as scientific reading, writing and presenting. Acquire capacities for identifying environmental problems, for reflecting upon proposed solutions and for contributing to ongoing debates.
ContentFollowing a multidisciplinary introduction into current issues of environmental and energy policy, the course develops theoretical and analytical approaches including "risk", "sustainability", "resource management", "messy problems" as well as concepts from institutional design and environmental economics. Large parts of the course are dedicated to case studies and contributions from participants. These serve for applying concepts to concrete challenges and debates. Topics may include: energy transition, the future of nuclear energy, innovation, carbon markets, climate change and development policy, dealing with disaster risk, the use of non-renewable resources, 2000-watt and 1-t-CO2 society.
Lecture notesPresentations and reader provided in electronic formats.
LiteratureReader provided in electronic formats.
Prerequisites / Notice-
227-1046-00LComputer Simulations of Sensory Systems Information W3 credits2V + 1UT. Haslwanter
AbstractThis course deals with computer simulations of the human auditory, visual, and balance system. The lecture will cover the physiological and mechanical mechanisms of these sensory systems. And in the exercises, the simulations will be implemented with Python (or Matlab). The simulations will be such that their output could be used as input for actual neuro-sensory prostheses.
ObjectiveOur sensory systems provide us with information about what is happening in the world surrounding us. Thereby they transform incoming mechanical, electromagnetic, and chemical signals into “action potentials”, the language of the central nervous system.
The main goal of this lecture is to describe how our sensors achieve these transformations, how they can be reproduced with computational tools. For example, our auditory system performs approximately a “Fourier transformation” of the incoming sound waves; our early visual system is optimized for finding edges in images that are projected onto our retina; and our balance system can be well described with a “control system” that transforms linear and rotational movements into nerve impulses.
In the exercises that go with this lecture, we will use Python to reproduce the transformations achieved by our sensory systems. The goal is to write programs whose output could be used as input for actual neurosensory prostheses: such prostheses have become commonplace for the auditory system, and are under development for the visual and the balance system. For the corresponding exercises, at least some basic programing experience is required.
ContentThe following topics will be covered:
• Introduction into the signal processing in nerve cells.
• Introduction into Python.
• Simplified simulation of nerve cells (Hodgkins-Huxley model).
• Description of the auditory system, including the application of Fourier transforms on recorded sounds.
• Description of the visual system, including the retina and the information processing in the visual cortex. The corresponding exercises will provide an introduction to digital image processing.
• Description of the mechanics of our balance system, and the “Control System”-language that can be used for an efficient description of the corresponding signal processing (essentially Laplace transforms and control systems).
Lecture notesFor each module additional material will be provided on the e-learning platform "moodle". The main content of the lecture is also available as a wikibook, under Link
LiteratureOpen source information is available as wikibook Link

For good overviews I recommend:
• L. R. Squire, D. Berg, F. E. Bloom, Lac S. du, A. Ghosh, and N. C. Spitzer. Fundamental Neuroscience, Academic Press - Elsevier, 2012 [ISBN: 9780123858702].
This book covers the biological components, from the functioning of an individual ion channels through the various senses, all the way to consciousness. And while it does not cover the computational aspects, it nevertheless provides an excellent overview of the underlying neural processes of sensory systems.

• Principles of Neural Science (5th Ed, 2012), by Eric Kandel, James Schwartz, Thomas Jessell, Steven Siegelbaum, A.J. Hudspeth
ISBN 0071390111 / 9780071390118
The standard textbook on neuroscience.

• P Wallisch, M Lusignan, M. Benayoun, T. I. Baker, A. S. Dickey, and N. G. Hatsopoulos. MATLAB for Neuroscientists, Academic Press, 2009.
Compactly written, it provides a short introduction to MATLAB, as well as a very good overview of MATLAB’s functionality, focusing on applications in different areas of neuroscience.

• G. Mather. Foundations of Sensation and Perception, 2nd Ed Psychology Press, 2009 [ISBN: 978-1-84169-698-0 (hardcover), oder 978-1-84169-699-7 (paperback)]
A coherent, up-to-date introduction to the basic facts and theories concerning human sensory perception.
Prerequisites / NoticeSince I have to gravel from Linz, Austria, to Zurich to give this lecture, I plan to hold this lecture in blocks (every 2nd week).
351-0778-00LDiscovering Management
Entry level course in management for BSc, MSc and PHD students at all levels not belonging to D-MTEC.
This course can be complemented with Discovering Management (Excercises) 351-0778-01L.
W3 credits3GB. Clarysse, M. Ambühl, S. Brusoni, L. De Cuyper, E. Fleisch, G. Grote, V. Hoffmann, T. Netland, G. von Krogh, F. von Wangenheim
AbstractDiscovering Management offers an introduction to the field of business management and entrepreneurship for engineers and natural scientists. The module provides an overview of the principles of management, teaches knowledge about management that is highly complementary to the students' technical knowledge, and provides a basis for advancing the knowledge of the various subjects offered at D-MTEC.
ObjectiveThe objective of this course is to introduce the students to the relevant topics of the management literature and give them a good introduction in entrepreneurship topics too. The course is a series of lectures on the topics of strategy, innovation, marketing, corporate social responsibility, and productions and operations management. These different lectures provide the theoretical and conceptual foundations of management. In addition, students are required to work in teams on a project. The purpose of this project is to analyse the innovative needs of a large multinational company and develop a business case for the company to grow.
ContentDiscovering Management aims to broaden the students' understanding of the principles of business management, emphasizing the interdependence of various topics in the development and management of a firm. The lectures introduce students not only to topics relevant for managing large corporations, but also touch upon the different aspects of starting up your own venture. The lectures will be presented by the respective area specialists at D-MTEC.
The course broadens the view and understanding of technology by linking it with its commercial applications and with society. The lectures are designed to introduce students to topics related to strategy, corporate innovation, corporate social responsibility, and business model innovation. Practical examples from industry will stimulate the students to critically assess these issues.
Prerequisites / NoticeDiscovering Management is designed to suit the needs and expectations of Bachelor students at all levels as well as Master and PhD students not belonging to D-MTEC. By providing an overview of Business Management, this course is an ideal enrichment of the standard curriculum at ETH Zurich.
No prior knowledge of business or economics is required to successfully complete this course.
363-1031-00LQuantitative Methods in Energy and Environmental EconomicsW4 credits3GS. Rausch, D. Cerruti
AbstractThe course provides an introduction to quantitative methods used to analyze problems in energy and environmental economics. Emphasis will be put on partial equilibrium models, static and dynamic general equilibrium models, climate economic models and integrated assessment models, regression models to estimate demand functions, econometric techniques for policy evaluations, and panel data methods.
ObjectiveThe objectives of the course are twofold. First, the course is intended to provide an introduction to the economic assessment of energy and environmental policy. To this end, the course provides students with an overview of state-of-the-art tools to economic modeling and econometric approaches. Second, the course is intended to familiarize master (and doctoral students) with the computer software necessary to implement these quantitative methods to initiate their own research in energy and environmental economics.

Ancillary objectives of the course include an introduction to environmental implications of energy use and the role of economic analysis in designing policies which address issues of energy security, climate change and related environmental externalities.
LiteratureLecture notes, exercises and reference material will be made available to students during the semester.
Prerequisites / NoticeBasic knowledge of microeconomics and calculus. Knowledge from the course Energy Economics and Policy (363-0514-00L) is helpful but not required.
376-0210-00LBiomechatronics
Primarily designed for HST-students

The Biomechatronics lecture is not appropriate for students who already attended the lecture "Physical Human-Robot Interaction"(376-1504-00L), because it covers similar topics.

Matlab skills are beneficial-> online Tutorial Link
W4 credits3GR. Riener, R. Gassert
AbstractDevelopment of mechatronic systems (i.e. mechanics, electronics, computer science and system integration) with inspiration from biology and application in the living (human) organism.
ObjectiveThe objective of this course is to give an introduction to the fundamentals of biomechatronics, through lectures on the underlying theoretical/mechatronics aspects and application fields, in combination with exercises. The course will guide students through the design and evaluation process of such systems, and highlight a number of applications.

By the end of this course, you should understand the critical elements of biomechatronics and their interaction with biological systems, both in terms of engineering metrics and human factors. You will be able to apply the learned methods and principles to the design, improvement and evaluation of safe and efficient biomechatronics systems.
ContentThe course will cover the interdisciplinary elements of biomechatronics, ranging from human factors to sensor and actuator technologies, real-time signal processing, system kinematics and dynamics, modeling and simulation, controls and graphical rendering as well as safety/ethical aspects, and provide an overview of the diverse applications of biomechatronics technology.
Lecture notesSlides will be distributed through moodle before the lectures.
LiteratureBrooker, G. (2012). Introduction to Biomechatronics. SciTech Publishing.
Riener, R., Harders, M. (2012) Virtual Reality in Medicine. Springer, London.
Prerequisites / NoticeNone
401-0302-10LComplex Analysis Information W4 credits3V + 1UP. S. Jossen
AbstractBasics of complex analysis in theory and applications, in particular the global properties of analytic functions. Introduction to the integral transforms and description of some applications
ObjectiveErwerb von einigen grundlegenden Werkzeuge der komplexen Analysis.
ContentExamples of analytic functions, Cauchy‘s theorem, Taylor and Laurent series, singularities of analytic functions, residues. Fourier series and Fourier integral, Laplace transform.
LiteratureM. Ablowitz, A. Fokas: "Complex variables: introduction and applications", Cambridge Text in Applied Mathematics, Cambridge University Press 1997

E. Kreyszig: "Advanced Engineering Analysis", Wiley 1999

J. Brown, R. Churchill: "Complex Analysis and Applications", McGraw-Hill 1995

J. Marsden, M. Hoffman: "Basic complex analysis", W. H. Freeman 1999

P. P. G. Dyke: "An Introduction to Laplace Transforms and Fourier Series", Springer 2004

Ch. Blatter: "Komplexe Analysis, Fourier- und Laplace-Transformation", Autographie

A. Oppenheim, A. Willsky: "Signals & Systems", Prentice Hall 1997

M. Spiegel: "Laplace Transforms", Schaum's Outlines, Mc Graw Hill
Prerequisites / NoticePrerequisites: Analysis I and II
402-0052-00LPhysics I: Waves and ThermodynamicsW4 credits2V + 2UA. Imamoglu
AbstractPhysics I is an introduction to continuum mechanics, wave phenomena, and fundamental concepts of thermodynamics.
ObjectiveAfter completing this course, students should be able to construct and apply simple models of dynamics in non-rigid materials. Students should also be able to identify and relate basic thermodynamic quantities in equilibrium systems given realistic constraints.
ContentThe lecture will discuss the following concepts:

Waves
- One dimensional wave equation
- Plane waves, spherical waves in 2 and 3 dimensions
- Elastic waves, sound velocity
- Stationary waves, resonances
- Propagation: interference and diffraction
- Doppler effect

Thermodynamics
- Kinetic theory of gases, perfect gases
- Conservation of energy, first principle
- Second principle, thermal cycles
- Entropy, thermodynamical and statistical interpretation
- Thermal radiation and heat transfer.
Lecture notesThe lecture notes will be distributed via the Moodle platform.
LiteratureP. A. Tipler and G. Mosca, "Physics for Scientists and Engineers" (6th edition) Chapters 14-20.
Prerequisites / NoticeTechnical Mechanics, Analysis
402-0810-00LComputational Quantum PhysicsW8 credits2V + 2UA. Soluyanov
AbstractThis course provides an introduction to simulation methods for quantum systems, starting with the one-body problem and finishing with quantum field theory, with special emphasis on quantum many-body systems. Both approximate methods (Hartree-Fock, density functional theory) and exact methods (exact diagonalization, quantum Monte Carlo) are covered.
ObjectiveThe goal is to become familiar with computer simulation techniques for quantum physics, through lectures and practical programming exercises.
402-0812-00LComputational Statistical Physics Information W8 credits2V + 2UH. J. Herrmann
AbstractComputer simulation methods in statistical physics. Classical Monte-Carlo-simulations: finite-size scaling, cluster algorithms, histogram-methods. Molecular dynamics simulations: long range interactions, Ewald summation, discrete elements, parallelization.
ObjectiveThe lecture will give a deeper insight into computer simulation methods in statistical physics. Thus, it is an ideal continuation of the lecture
"Introduction to Computational Physics" of the autumn semester focusing on the following topics. Classical Monte-Carlo-simulations: finite-size scaling, cluster algorithms, histogram-methods. Molecular dynamics simulations: long range interactions, Ewald summation, discrete elements, parallelization.
ContentComputer simulation methods in statistical physics.
Classical Monte-Carlo-simulations: finite-size scaling, cluster algorithms, histogram-methods. Molecular dynamics simulations: long range interactions, Ewald summation, discrete elements, parallelization.
636-0702-00LStatistical Models in Computational BiologyW6 credits2V + 1U + 2AN. Beerenwinkel
AbstractThe course offers an introduction to graphical models and their application to complex biological systems. Graphical models combine a statistical methodology with efficient algorithms for inference in settings of high dimension and uncertainty. The unifying graphical model framework is developed and used to examine several classical and topical computational biology methods.
ObjectiveThe goal of this course is to establish the common language of graphical models for applications in computational biology and to see this methodology at work for several real-world data sets.
ContentGraphical models are a marriage between probability theory and graph theory. They combine the notion of probabilities with efficient algorithms for inference among many random variables. Graphical models play an important role in computational biology, because they explicitly address two features that are inherent to biological systems: complexity and uncertainty. We will develop the basic theory and the common underlying formalism of graphical models and discuss several computational biology applications. Topics covered include conditional independence, Bayesian networks, Markov random fields, Gaussian graphical models, EM algorithm, junction tree algorithm, model selection, Dirichlet process mixture, causality, the pair hidden Markov model for sequence alignment, probabilistic phylogenetic models, phylo-HMMs, microarray experiments and gene regulatory networks, protein interaction networks, learning from perturbation experiments, time series data and dynamic Bayesian networks. Some of the biological applications will be explored in small data analysis problems as part of the exercises.
Lecture notesno
Literature- Airoldi EM (2007) Getting started in probabilistic graphical models. PLoS Comput Biol 3(12): e252. doi:10.1371/journal.pcbi.0030252
- Bishop CM. Pattern Recognition and Machine Learning. Springer, 2007.
- Durbin R, Eddy S, Krogh A, Mitchinson G. Biological Sequence Analysis. Cambridge university Press, 2004
151-3217-00LCoaching Student Teams (Basic Training)W1 credit1GR. P. Haas, B. Volk
AbstractAim is enhancement of knowledge and competency regarding coaching skills. Participants should be active coaches of a student team. Topics: Overview of the roles and mind set of a coach as, introduction into coaching methodology, mutual learning and reflecting of participants coaching expertise and situations.
Objective- Basic knowledge about role and mindset of a coach
- Basic Knowledge and reflection about classical coaching situations
- Inspiration and mutual learning from real coaching sessions (mutual peer observation)
ContentBasic knowledge about role and mindset of a coach
- Introduction into coaching: definition & models
- Introduction into the coaching process and team building phases
- Role of coaches between examinator, tutor and ""friend""
First steps building up personal coaching competencies, e.g. active listening, asking questions, giving feedback
- Competencies in theoretical models
- Coaching competencies: exercises and reflection
Some Reflection and exchange of experiences about personal coaching situations
- Exchange of experiences in the lecture group
- Mutual peer observations
Lecture notesSlides, script and other documents will be distributed electronically
(access only for participants registered to this course)
LiteraturePlease refer to lecture script.
Prerequisites / NoticeParticipants (Students, PhD Students, Postdocs) should be active coaches of a student project team or coaches of individual students.
151-3220-00LCoaching Student Teams (Advances Course 2)W1 credit1GR. P. Haas, I. Goller, M. Lehner, B. Volk
AbstractAim is enhancement of knowledge and competency regarding coaching skills. Participants should be active coaches of a student team. Core is self refection of one's own work as a coach and the effect of it teams and students supported.
Objective- Advanced knowledge about role and mindset of a coach
- Reflection of one's own behavior as a coach
- Development of personal coaching skills
- Selective extension of Knowledge and know-how about coaching methods as needed.
ContentAdvanced insights about coaching methods and situations
- Knowledge about basic coaching methods for student teams
- Know-how about usage of methods in the coaching process
- Facilitating decisions
- Using and applying coaches opinions and knowledge
- Facilitating conflict situations
Reflection and exchange of experiences about personal coaching situations
- Exchange of experiences in the lecture group
- Reflection about classical coaching situations (includes assignements between lectures)
- Reflection and exchange of experiences about personal coaching situations (Individual coaching session)
- Inspiration and mutual learning from real coaching sessions (Mutual peer observation)
- Refection of a coaching intervention (Case study)
Lecture notesSlides, script and other documents will be distributed electronically
(access only for participants registered to this course).
LiteraturePlease refer to lecture script.
Prerequisites / Notice- Participants (Students, PhD Students, Postdocs) should be active coaches of a student project team.
- Completion of the basic training is required or taking it in parallel.
Seminar
Es kann auch ein Seminar aus dem Master in Informatik gewählt werden. Es liegt in der Verantwortung der Studierenden, sicherzustellen, dass sie die Voraussetzungen für diese Lehrveranstaltung erfüllen.
NumberTitleTypeECTSHoursLecturers
252-4220-00LA Taste of Research: Algorithms and Combinatorics Information Restricted registration - show details
Number of participants limited to 16.
W2 credits2SB. Gärtner, A. Steger, M. Ghaffari
AbstractStudents work together with lecturers on open problems in algorithms and combinatorics.
ObjectiveThe goal is to learn and practice important research techniques: literature search, understanding and presenting research papers, developing ideas in the group, testing of conjectures with the computer, writing down results.
ContentWork on original research papers and open problems in the areas of algorithms and combinatorics.
Lecture notesNot available.
LiteratureWill be announced in the seminar.
Prerequisites / NoticePassed exam in Algorithms, Probability, and Computing.
252-4230-00LAdvanced Algorithms and Data Structures Information
Um das vorhandene Angebot optimal auszunutzen, behält sich das D-INFK vor, Belegungen von Studierenden zu löschen, die sich in mehreren Veranstaltungen dieser Kategorie eingeschrieben haben, bereits die erforderlichen Leistungen in dieser Kategorie erbracht haben oder aus anderen organisatorischen Gründen nicht auf die Belegung der Veranstaltung angewiesen sind.
W2 credits2SP. Widmayer, S. Leucci, P. Uznanski
AbstractWe will look into modern approaches of algorithms and data structures. A few breakthrough and highly influential papers from the general area of algorithms, from the past 20 years will be selected for students to study.
ObjectiveDevelop an understanding of modern techniques and paradigms in the design of algorithms and data structures.
ContentTopics include (but are not exhausted by):

-graph algorithms,
-text algorithms,
-approximation algorithms,
-algebra in algorithms,
-streaming algorithms,
-conditional lower bounds,
-sparsification,
-randomness in algorithms,
-sampling.
Prerequisites / NoticeAlgorithms and Data Structures, or equivalent.
252-4800-00LInformation & Physics Information Restricted registration - show details
Number of participants limited to 120.
Previously called Quantum Information and Cryptography

Um das vorhandene Angebot optimal auszunutzen, behält sich das D-INFK vor, Belegungen von Studierenden zu löschen, die sich in mehreren Veranstaltungen dieser Kategorie eingeschrieben haben, bereits die erforderlichen Leistungen in dieser Kategorie erbracht haben oder aus anderen organisatorischen Gründen nicht auf die Belegung der Veranstaltung angewiesen sind.
W2 credits4SS. Wolf
AbstractIn this advanced seminar, various topics are treated in the intersection of quantum physics, information theory, and cryptography.
Objectivesee above