Search result: Catalogue data in Spring Semester 2019

Computer Science Master Information
Focus Courses
Focus Courses General Studies
Elective Focus Courses General Studies
NumberTitleTypeECTSHoursLecturers
252-0312-00LUbiquitous Computing Information W3 credits2VF. Mattern, S. Mayer
AbstractUbiquitous 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.
ObjectiveThe 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 notesCopies of slides will be made available
LiteratureWill 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-0408-00LCryptographic Protocols Information W5 credits2V + 2UM. Hirt, U. Maurer
AbstractThe course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.
ObjectiveIndroduction to a very active research area with many gems and paradoxical
results. Spark interest in fundamental problems.
ContentThe course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc.
Lecture notesthe lecture notes are in German, but they are not required as the entire
course material is documented also in other course material (in english).
Prerequisites / NoticeA basic understanding of fundamental cryptographic concepts
(as taught for example in the course Information Security or
in the course Cryptography Foundations) is useful, but not required.
252-0526-00LStatistical Learning Theory Information W7 credits3V + 2U + 1AJ. M. Buhmann
AbstractThe 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.
ObjectiveThe 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 notesA draft of a script will be provided;
transparencies of the lectures will be made available.
LiteratureHastie, 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 / NoticeRequirements:

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.
252-0570-00LGame Programming Laboratory Information
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.
W10 credits9PB. Sumner
AbstractThe goal of this course is the in-depth understanding of the technology and programming underlying computer games. Students gradually design and develop a computer game in small groups and get acquainted with the art of game programming.
ObjectiveThe goal of this new course is to acquaint students with the
technology and art of programming modern three-dimensional computer
games.
ContentThis is a new course that addresses modern three-dimensional computer
game technology. During the course, small groups of students will
design and develop a computer game. Focus will be put on technical
aspects of game development, such as rendering, cinematography,
interaction, physics, animation, and AI. In addition, we will
cultivate creative thinking for advanced gameplay and visual effects.

The "laboratory" format involves a practical, hands-on approach with
neither traditional lectures nor exercises. Instead, we will meet
once a week to discuss technical issues and to track progress. We
plan to utilize Microsoft's XNA Game Studio Express, which is a
collection libraries and tools that facilitate game development.
While development will take place on PCs, we will ultimately deploy
our games on the XBox 360 console.

At the end of the course we will present our results to the public.
Lecture notesOnline XNA documentation.
Prerequisites / NoticeThe number of participants is limited.

Prerequisites include:

- good programming skills (Java, C++, C#, etc.)

- CG experience: Students should have taken, at a minimum, Visual
Computing. Higher level courses are recommended, such as Introduction
to Computer Graphics, Surface Representations and Geometric Modeling,
and Physically-based Simulation in Computer Graphics.
252-0579-00L3D Vision Information W4 credits3GM. Pollefeys, V. Larsson
AbstractThe course covers camera models and calibration, feature tracking and matching, camera motion estimation via simultaneous localization and mapping (SLAM) and visual odometry (VO), epipolar and mult-view geometry, structure-from-motion, (multi-view) stereo, augmented reality, and image-based (re-)localization.
ObjectiveAfter attending this course, students will:
1. understand the core concepts for recovering 3D shape of objects and scenes from images and video.
2. be able to implement basic systems for vision-based robotics and simple virtual/augmented reality applications.
3. have a good overview over the current state-of-the art in 3D vision.
4. be able to critically analyze and asses current research in this area.
ContentThe goal of this course is to teach the core techniques required for robotic and augmented reality applications: How to determine the motion of a camera and how to estimate the absolute position and orientation of a camera in the real world. This course will introduce the basic concepts of 3D Vision in the form of short lectures, followed by student presentations discussing the current state-of-the-art. The main focus of this course are student projects on 3D Vision topics, with an emphasis on robotic vision and virtual and augmented reality applications.
252-0817-00LDistributed Systems Laboratory Information
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.
W10 credits9PG. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang
AbstractThis 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.
ObjectiveStudents acquire practical knowledge about technologies from the area of distributed systems.
ContentThis 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.
252-1403-00LInvitation to Quantum Informatics Information W3 credits2VS. Wolf
AbstractFollowed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseudo-telepathy", quantum cryptography, as well as the main concepts of quantum information theory.
ObjectiveIt is the goal of this course to get familiar with the most important notions that are of importance for the connection between Information and Physics. The formalism of Quantum Physics will be motivated and derived, and the use of these laws for information processing will be understood. In particular, the important algorithms of Grover as well as Shor will be studied and analyzed.
ContentAccording to Landauer, "information is physical". In quantum information, one is interested in the consequences and the possibilites offered by the laws of quantum physics for information processing. Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseude-telepathy", quantum cryptography, as well as the main concepts of quantum information theory.
252-1424-00LModels of ComputationW6 credits2V + 2U + 1AM. Cook
AbstractThis course surveys many different models of computation: Turing Machines, Cellular Automata, Finite State Machines, Graph Automata, Circuits, Tilings, Lambda Calculus, Fractran, Chemical Reaction Networks, Hopfield Networks, String Rewriting Systems, Tag Systems, Diophantine Equations, Register Machines, Primitive Recursive Functions, and more.
ObjectiveThe goal of this course is to become acquainted with a wide variety of models of computation, to understand how models help us to understand the modeled systems, and to be able to develop and analyze models appropriate for new systems.
ContentThis course surveys many different models of computation: Turing Machines, Cellular Automata, Finite State Machines, Graph Automata, Circuits, Tilings, Lambda Calculus, Fractran, Chemical Reaction Networks, Hopfield Networks, String Rewriting Systems, Tag Systems, Diophantine Equations, Register Machines, Primitive Recursive Functions, and more.
252-3005-00LNatural Language Understanding Information Restricted registration - show details
Number of participants limited to 200.
W4 credits2V + 1UM. Ciaramita, T. Hofmann
AbstractThis course presents topics in natural language processing with an emphasis on modern techniques, primarily focusing on statistical and deep learning approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems.
ObjectiveThe objective of the course is to learn the basic concepts in the statistical processing of natural languages. The course will be project-oriented so that the students can also gain hands-on experience with state-of-the-art tools and techniques.
ContentThis course presents an introduction to general topics and techniques used in natural language processing today, primarily focusing on statistical approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems.
LiteratureLectures will make use of textbooks such as the one by Jurafsky and Martin where appropriate, but will also make use of original research and survey papers.
252-5706-00LMathematical Foundations of Computer Graphics and Vision Information W4 credits2V + 1UM. R. Oswald, C. Öztireli
AbstractThis course presents the fundamental mathematical tools and concepts used in computer graphics and vision. Each theoretical topic is introduced in the context of practical vision or graphic problems, showcasing its importance in real-world applications.
ObjectiveThe main goal is to equip the students with the key mathematical tools necessary to understand state-of-the-art algorithms in vision and graphics. In addition to the theoretical part, the students will learn how to use these mathematical tools to solve a wide range of practical problems in visual computing. After successfully completing this course, the students will be able to apply these mathematical concepts and tools to practical industrial and academic projects in visual computing.
ContentThe theory behind various mathematical concepts and tools will be introduced, and their practical utility will be showcased in diverse applications in computer graphics and vision. The course will cover topics in sampling, reconstruction, approximation, optimization, robust fitting, differentiation, quadrature and spectral methods. Applications will include 3D surface reconstruction, camera pose estimation, image editing, data projection, character animation, structure-aware geometry processing, and rendering.
261-5120-00LMachine Learning for Health Care Information Restricted registration - show details
Number of participants limited to 78.

Previously called Computational Biomedicine II
W4 credits3PG. Rätsch
AbstractThe 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.
ObjectiveDuring 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.
ContentThe 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 / NoticeData 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.
263-2812-00LProgram Verification Information Restricted registration - show details
Number of participants limited to 30.
W5 credits2V + 1U + 1AA. J. Summers
AbstractA hands-on introduction to the theory and construction of deductive software verifiers, covering both cutting-edge methodologies for formal program reasoning, and a perspective over the broad tool stacks making up modern verification tools.
ObjectiveStudents will earn the necessary skills for designing and developing deductive verification tools which can be applied to modularly analyse complex software, including features challenging for reasoning such as heap-based mutable data and concurrency. Students will learn both a variety of fundamental reasoning principles, and how these reasoning ideas can be made practical via automatic tools.

Students will be gain practical experience with reasoning tools at various levels of abstraction, from SAT and SMT solvers at the lowest level, up through intermediate verification languages and tools, to verifiers which target front-end code in executable languages.

By the end of the course, students should have a good working understanding and experience of the issues and decisions involved with designing and building practical verification tools, and the theoretical techniques which underpin them.
ContentThe course will be organized around building up a "tool stack", starting at the lowest-level with background on SAT and SMT solving techniques, and working upwards through tools at progressively-higher levels of abstraction. The notion of intermediate verification languages will be explored, and the Boogie (Microsoft Research) and Viper (ETH) languages will be used in depth to tackle increasingly ambitious verification tasks.

The course will intermix technical content with hands-on experience; at each level of abstraction, we will understand who to build and use tools which can tackle specific program correctness problems, starting from simple puzzle solvers (Soduko) at the SAT level, and working upwards to full functional correctness of application-level code. This practical work will include three projects (typically worked on in pairs) spread throughout the course, which count towards the final grade. The graded projects are worth 40% in total, individually weighted at 14%, 13% and 13% respectively. The projects are a compulsory performance assessment; in this case, they need not be passed on their own, but will count 40% in all cases towards the final grading. An oral examination (worth the remaining 60% of the final grade) will examine the full technical content covered in the course.
Lecture notesHandouts (complementing the lecture material) and other materials will be available online.
LiteratureBackground reading material and links to tools will be published on the course website.
Prerequisites / NoticeSome programming experience is essential, as the course contains several practical assignments. A basic familiarity with propositional and first-order logic will be assumed.

Courses with an emphasis on formal reasoning about programs (such as Formal Methods and Functional Programming) are advantageous background, but are not a requirement.
263-3501-00LFuture Internet Information
Previously called Advanced Computer Networks
W6 credits1V + 1U + 3AA. Singla
AbstractThis 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.
ObjectiveThe 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.
ContentThe 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 notesLecture slides will be made available at the course Web site: Link
LiteratureNo textbook is required, but there will be regularly assigned readings from research literature, liked to the course Web site: Link.
Prerequisites / NoticeAn 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-00LMachine Perception Information Restricted registration - show details
Number of participants limited to 150.
W5 credits2V + 1U + 1AO. Hilliges
AbstractRecent 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.
ObjectiveStudents 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.
ContentWe 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
LiteratureDeep Learning
Book by Ian Goodfellow and Yoshua Bengio
Prerequisites / NoticeThis 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-00LData Stream Processing and Analytics Information W6 credits2V + 2U + 1AV. Kalavri
AbstractThe 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.
ObjectiveThis 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.
ContentModern 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 notesSchedule and lecture notes will be posted in the course website: Link
Prerequisites / NoticeThe 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.
263-4506-00LMassively Parallel Algorithms Information W6 credits2V + 1U + 2AM. Ghaffari
AbstractData sizes are growing faster than the capacities of single processors. This makes it almost a certainty that the future of computation will rely on parallelism. In this new graduate-level course, we discuss the expanding body of work on the theoretical foundations of modern parallel computation, with an emphasis on the algorithmic tools and techniques for large-scale processing.
ObjectiveThis course will familiarize the students with the algorithmic tools and techniques in modern parallel computation. In particular, we will discuss the growing body of algorithmic results in the Massively Parallel Computation (MPC) model. This model is a mathematical abstraction of some of the popular large-scale processing settings such as MapReduce, Hadoop, Spark, etc. By the end of the semester, the students will know all the standard tools of this area, as well as the state of the art on a number of the central problems. Our hope is that the course prepares the students for independent research at the frontier of this area, and we will attempt to move in that direction with the course projects.

The course assumes no particular familiarity with parallel computation and should be accesible to any student with sufficient theoretical/algorithmic background. In particular, we expect that all students are comfortable with the basics of algorithmics designs and analysis, as well as probability theory.
ContentThe course will cover a sampling of the recent developments (and open questions) at the frontier of research in massively/modern parallel computation. the material will be based on compilation of recent papers on this area, which will be provided throughout the semester.
Prerequisites / NoticeThe class does not expect any prior knowledge in parallel algorithms/computing. Our only prerequisite is the undergraduate class Algorithms, Probability, and Computing (APC) or any other course that can be seen as the equivalent. In particular, much of waht we will discuss uses randomized algorithms and therefore, we will assume that the students are familiar with the tools and techniques in randomized algorithms and analysis (to the extent covered in the APC class).
263-4600-00LFormal Methods for Information Security Information W4 credits2V + 1UR. Sasse, C. Sprenger
AbstractThe course focuses on formal methods for the modelling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking.
ObjectiveThe students will learn the key ideas and theoretical foundations of formal modelling and analysis of security protocols. The students will complement their theoretical knowledge by solving practical exercises, completing a small project, and using state-of-the-art tools.
ContentThe course treats formal methods mainly for the modelling and analysis of security protocols. Cryptographic protocols (such as SSL/TLS, SSH, Kerberos, SAML single-sign on, and IPSec) form the basis for secure communication and business processes. Numerous attacks on published protocols show that the design of cryptographic protocols is extremely error-prone. A rigorous analysis of these protocols is therefore indispensable, and manual analysis is insufficient. The lectures cover the theoretical basis for the (tool-supported) formal modeling and analysis of such protocols. Specifically, we discuss their operational semantics, the formalization of security properties, and techniques and algorithms for their verification.

In addition to the classical security properties for confidentiality and authentication, we will study strong secrecy and privacy properties. We will discuss electronic voting protocols, and RFID protocols (a staple of the Internet of Things), where these properties are central. The accompanying tutorials provide an opportunity to apply the theory and tools to concrete protocols. Moreover, we will discuss methods to abstract and refine security protocols and the link between symbolic protocol models and cryptographic models.

Furthermore, we will also present a security notion for general systems based on non-interference as well as language-based information flow security where non-interference is enforced via a type system.
263-4630-00LComputer-Aided Modelling and Reasoning Information
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.
W8 credits7PC. Sprenger, D. Traytel
AbstractThe "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The lab has two parts: The first introduces various modelling and proof techniques. The second part consists of a project in which the students apply these techniques
ObjectiveThe students learn to effectively use a theorem prover to create unambiguous models and rigorously analyse them. They learn how to write precise and concise specifications, to exploit the theorem prover as a tool for checking and analysing such models and for taming their complexity, and to extract certified executable implementations from such specifications.
ContentThe "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The focus is on applying logical methods to concrete problems supported by a theorem prover. The course will demonstrate the challenges of formal rigor, but also the benefits of machine support in modelling, proving and validating.

The lab will have two parts: The first part introduces basic and advanced modelling techniques (functional programs, inductive definitions, modules), the associated proof techniques (term rewriting, resolution, induction, proof automation), and compilation of the models to certified executable code. In the second part, the students work in teams of two on a project assignment in which they apply these techniques: they build a formal model and prove its desired properties. The project lies in the area of programming languages, model checking, or information security.
LiteratureTextbook: Tobias Nipkow, Gerwin Klein. Concrete Semantics, part 1 (Link)
263-5215-00LFairness, Explainability, and Accountability for Machine Learning Information Restricted registration - show details
Number of participants limited to 40.

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 course, will officially fail the course.
W4 credits1V + 2PH. Heidari
Abstract
Objective- Familiarize students with the ethical implications of applying Big Data and ML tools to socially-sensitive domains; teach them to think critically about these issues.
- Overview the long-established philosophical, sociological, and economic literature on these subjects.
- Provide students with a tool-box of technical solutions for addressing - at least partially - the ethical and societal issues of ML and Big data.
ContentAs ML continues to advance and make its way into different aspects of modern life, both the designers and users of the technology need to think seriously about its impact on individuals and society. We will study some of the ethical implications of applying ML tools to socially sensitive domains, such as employment, education, credit ledning, and criminal justice. We will discuss at length what it means for an algorithm to be fair; who should be held responsible when algorithmic decisions negatively impacts certain demographic groups or individuals; and last but not least, how algorithmic decisions can be explained to a non-technical audience. Throughout the course, we will focus on technical solutions that have been recently proposed by the ML community to tackle the above issues. We will critically discuss the advantages and shortcomings of these proposals in comparison with non-technical alternatives.
Prerequisites / NoticeStudents are expected to sufficient knowledge of ML (i.e. they must have taken the "Introduction to Machine Learning" or an equivalent course).
263-5805-00LPhysics-based Modeling for Computational Fabrication and Robotics Information W5 credits2V + 2US. Coros, M. Bächer, K. Shea
AbstractThis course covers fundamentals of physics-based modelling and numerical optimization from the perspective of computational fabrication and robotics applications.
ObjectiveStudents will learn how to represent, model and algorithmically control the behavior of complex physical systems through simulation-based methodologies. The lectures are accompanied by programming assignments (written in C++), hand-on exercises involving digital fabrication technologies, as well as a capstone project.
Contentmass-spring and FEM simulation methods; multibody systems; kinematics and dynamics; constrained and unconstrained numerical optimization; PDE-constrained optimization, forward and inverse design; shape and topology optimization; simulation, optimization, fabrication and control for compliant robots; robotic manipulation of elastically-deforming objects.
Prerequisites / NoticeExperience with C++ programming, numerical linear algebra and multivariate calculus. Some background in physics-based modeling, kinematics and dynamics is helpful, but not necessary.
  •  Page  1  of  2 Next page Last page     All