Search result: Catalogue data in Spring Semester 2022
Computer Science Bachelor ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() Offered in the autumn semester. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
401-0212-16L | Analysis I ![]() | O | 7 credits | 4V + 2U | Ö. Imamoglu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Real and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Real and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Real and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | Analysis I, Marc Burger | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Tom Apostol: Mathematical Analysis Teaching materials and further information will be available through the course website. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0028-00L | Digital Design and Computer Architecture ![]() | O | 7 credits | 4V + 2U | O. Mutlu, F. K. Gürkaynak | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | The class provides a first introduction to the design of digital circuits and computer architecture. It covers technical foundations of how a computing platform is designed from the bottom up. It introduces various execution paradigms, hardware description languages, and principles in digital design and computer architecture. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | This class provides a first approach to Computer Architecture. The students learn the design of digital circuits in order to: - understand the basics, - understand the principles (of design), - understand the precedents (in computer architecture). Based on such understanding, the students are expected to: - learn how a modern computer works underneath, from the bottom up, - evaluate tradeoffs of different designs and ideas, - implement a principled design (a simple microprocessor), - learn to systematically debug increasingly complex systems, - hopefully be prepared to develop novel, out-of-the-box designs. The focus is on basics, principles, precedents, and how to use them to create/implement good designs. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The class consists of the following major blocks of contents: - Major Current Issues in Computer Architecture: Principles, Mysteries, Motivational Case Studies and Examples - Digital Logic Design: Combinational Logic, Sequential Logic, Hardware Description Languages, FPGAs, Timing and Verification. - Basics of Computer Architecture: Von Neumann Model of Computing, Instruction Set Architecture, Assembly Programming, Microarchitecture, Microprogramming. - Basics of Processor Design: Pipelining, Out-of-Order Execution, Branch Prediction. - Execution Paradigms: Out-of-order Execution, Dataflow, Superscalar Execution, VLIW, Decoupled Access/Execute, SIMD Processors, GPUs, Systolic Arrays, Multithreading. - Memory System: Memory Organization, Memory Technologies, Memory Hierarchy, Caches, Prefetching, Virtual Memory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | All the materials (including lecture slides) will be provided on the course website: http://safari.ethz.ch/digitaltechnik/ The video recordings of the lectures are likely to be made available, but there may be delays associated with the posting of online videos. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Patt and Patel's "Introduction to Computing Systems" and Harris and Harris's "Digital Design and Computer Architecture" are the official textbooks of the course. We will provide required and recommended readings in every lecture since the course is cutting-edge and there is no textbook that covers what the course covers. They will be mostly chapters of the two textbooks, and important articles that are essential for understanding the material. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0029-00L | Parallel Programming ![]() | O | 7 credits | 4V + 2U | T. Hoefler, B. Solenthaler | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Introduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The 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-00L | Algorithms and Probability ![]() ![]() | O | 7 credits | 4V + 2U | A. Steger, E. Welzl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Es werden klassische Algorithmen aus verschiedenen Anwendungsbereichen vorgestellt. In die diskrete Wahrscheinlichkeitstheorie wird eingeführt und das Konzept randomisierter Algorithmen an verschiedenen Beispielen vorgestellt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Verständnis des Entwurfs und der Analyse von Algorithmen. Grundlagen der diskreten Wahrscheinlichkeitstheorie und ihrer Anwendung in der Algorithmik. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Fortsetzung der Vorlesung Algorithmen und Datenstrukturen des ersten Semesters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0058-00L | Formal Methods and Functional Programming ![]() | O | 7 credits | 4V + 2U | P. Müller, C. Sprenger | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | In 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | In 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The 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-00L | Data Modelling and Databases ![]() | O | 7 credits | 4V + 2U | C. Zhang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Data modelling (Entity Relationship), relational data model, relational design theory (normal forms), SQL, database integrity, transactions and advanced database engines | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Introduction to relational databases and data management. Basics of SQL programming and transaction management. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Kemper, 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-00L | Computer Networks ![]() | O | 7 credits | 4V + 2U | A. Perrig, M. Legner | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | This introductory course on computer networking covers essential network technologies from every layer of the networking stack, ranging from networked applications over transport protocols and routing paradigms all through the physical layer. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Students 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 notes | The slides for each lecture will be made available through the course Web page, along with additional reference material. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Computer Networking: A Top-Down Approach, James F. Kurose and Keith W. Ross. Pearson; 7th edition (May 6, 2016) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | The bonus projects use programming in C and Python. ETH courses in the Bachelor track before this course already cover this. For other students, e.g., exchange, please take note of this requirement: you can still take the course and get a good (even 6/6) grade, but if you don't fulfill this prerequisite, you are disadvantaged compared to others who can get the bonus points. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401-0614-00L | Probability and Statistics ![]() | O | 5 credits | 2V + 2U | V. Tassion | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Einführung in die Wahrscheinlichkeitstheorie und Statistik | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | a) 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Wahrscheinlichkeitsraum, 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0216-00L | Rigorous Software Engineering ![]() | O | 8 credits | 4V + 2U + 1A | M. Schwerhoff, M. Vechev | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | The course provides an overview of techniques to build correct software, with a strong focus on testing and program analysis. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The course has two main objectives: - Understand the core techniques for building correct software. - Understand how to apply these techniques in practice. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The course presents an overview of techniques to build correct software, including: - Code documentation - Modularity and coupling (Design patterns) - Dynamic program analysis (Testing, fuzzing, concolic execution) - Static program analysis (Numerical abstract interpretation, pointer analysis, symbolic execution) - Formal modeling (Alloy) In addition, students apply the learned techniques to solve a group project in the area of program analysis. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Will be announced in the lecture. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0220-00L | Introduction to Machine Learning ![]() ![]() Limited number of participants. Preference is given to students in programmes in which the course is being offered. All other students will be waitlisted. Please do not contact Prof. Krause for any questions in this regard. If necessary, please contact studiensekretariat@inf.ethz.ch | O | 8 credits | 4V + 2U + 1A | A. Krause, F. Yang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | The course introduces the foundations of learning and making predictions based on data. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The 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-nearest neighbor - Neural networks (backpropagation, regularization, convolutional neural networks) - Unsupervised learning (k-means, PCA, neural network autoencoders) - 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 approaches to unsupervised learning (Gaussian mixtures, EM) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Textbook: Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Designed to provide a basis for following courses: - Advanced Machine Learning - Deep Learning - Probabilistic Artificial Intelligence - Seminar "Advanced Topics in Machine Learning" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0211-00L | Information Security ![]() | O | 8 credits | 4V + 3U | D. Hofheinz, S. Krstic, K. Paterson, J. L. Toro Pozo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Master fundamental concepts in Information Security and their application to system building. (See objectives listed below for more details). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | 1. 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Students may also choose courses from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these courses. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0341-01L | Information Retrieval ![]() | W | 4 credits | 2V + 1U | G. Fourny | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | This course gives an introduction to information retrieval with a focus on text documents and unstructured data. Main topics comprise document modelling, various retrieval techniques, indexing techniques, query frameworks, optimization, evaluation and feedback. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | We keep accumulating data at an unprecedented pace, much faster than we can process it. While Big Data techniques contribute solutions accounting for structured or semi-structured shapes such as tables, trees, graphs and cubes, the study of unstructured data is a field of its own: Information Retrieval. After this course, you will have in-depth understanding of broadly established techniques in order to model, index and query unstructured data (aka, text), including the vector space model, boolean queries, terms, posting lists, dealing with errors and imprecision. You will know how to make queries faster and how to make queries work on very large datasets. You will be capable of evaluating the quality of an information retrieval engine. Finally, you will also have knowledge about alternate models (structured data, probabilistic retrieval, language models) as well as basic search algorithms on the web such as Google's PageRank. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | 1. Introduction 2. Boolean retrieval: the basics of how to index and query unstructured data. 3. Term vocabulary: pre-processing the data prior to indexing: building the term vocabulary, posting lists. 4. Tolerant retrieval: dealing with spelling errors: tolerant retrieval. 5. Index construction: scaling up to large datasets. 6. Index compression: how to improve performance by compressing the index in various ways. 7. Ranked retrieval: how to ranking results with scores and the vector space model 8. Scoring in a bigger picture: taking ranked retrieval to the next level with various improvements, including inexact retrieval 9. Probabilistic information retrieval: how to leverage Bayesian techniques to build an alternate, probabilistic model for information retrieval 10. Language models: another alternate model based on languages, automata and document generation 11. Evaluation: precision, recall and various other measurements of quality 12. Web search: PageRank 13. Wrap-up. The lecture structure will follow the pedagogical approach of the book (see material). 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | C. D. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval, Cambridge University Press. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Prior knowledge in elementary set theory, logics, linear algebra, data structures, abstract data types, algorithms, and probability theory (at the Bachelor's level) is required, as well as programming skills (we will use Python). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0820-00L | Information Technology in Practice | W | 5 credits | 2V + 1U + 1A | M. Brandis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Students will learn important considerations of companies when applying information technology in practice, including costs, economic value and risks of information technology use, or impact of information technology on business strategy and vice versa. They will get insight into how companies have used or are using information technology to be successful. Students will also learn how to assess information technology decisions from different viewpoints, including technical experts, IT managers, business users, and business top managers. The course will equip participants to understand the role computer science and information technology plays in different companies and to contribute to respective decisions as they enter into practice. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The course consists of multiple lectures on economics of information technology, business and IT strategy, and how they are interlinked, and a set of relevant case studies. They address how companies become more successful using information technology, how bad information technology decisions can hurt them, and they look into a number of current challenges companies face regarding their information technology. The cases are taken both from documented international case studies as well as from Swiss companies participating in the course. The learned concepts will be applied in exercises, which form a key component of the course. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | The course builds on the earlier "Case Studies from Practice" course, with a stronger focus on learning key concepts of information technology use in practice and applying them in exercises, and only a limited number of case studies. The course prepares students for participation in the subsequent "Case Studies from Practice Seminar", which provides deeper insights into actual cases and how to solve them. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
151-0116-10L | High Performance Computing for Science and Engineering (HPCSE) for Engineers II ![]() | W | 4 credits | 4G | P. Koumoutsakos, S. M. Martin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | High 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 notes | https://www.cse-lab.ethz.ch/teaching/hpcse-ii_fs22/ 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, D. Sivia and J. Skilling - An introduction to Bayesian Analysis - Theory and Methods, J. Gosh, N. Delampady and S. Tapas - Bayesian Data Analysis, A. Gelman, J. Carlin, H. Stern, D. Dunson, A. Vehtari and D. Rubin - Machine Learning: A Bayesian and Optimization Perspective, S. Theodorides | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Students must be familiar with the content of High Performance Computing for Science and Engineering I (151-0107-20L) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
151-0306-00L | Visualization, Simulation and Interaction - Virtual Reality I ![]() | W | 4 credits | 4G | A. Kunz | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Technology of Virtual Reality. Human factors, Creation of virtual worlds, Lighting models, Display- and acoustic- systems, Tracking, Haptic/tactile interaction, Motion platforms, Virtual prototypes, Data exchange, VR Complete systems, Augmented reality, Collaboration systems; VR and Design; Implementation of the VR in the industry; Human Computer Interfaces (HCI). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The product development process in the future will be characterized by the Digital Product which is the center point for concurrent engineering with teams spreas worldwide. Visualization and simulation of complex products including their physical behaviour at an early stage of development will be relevant in future. The lecture will give an overview to techniques for virtual reality, to their ability to visualize and to simulate objects. It will be shown how virtual reality is already used in the product development process. • Students are able to evaluate and select the most appropriate VR technology for a given task regarding: o Visualization technologies displays/projection systems/head-mounted displays o Tracking systems (inertia/optical/electromagnetic) o Interaction technologies (sensing gloves/real walking/eye tracking/touch/etc.) • Students are able to develop a VR application • Students are able to apply VR to industrial needs • Students will be able to apply the gained knowledge to a practical realization • Students will be able to compare different operation principles (VR/AR/MR/XR) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Introduction to the world of virtual reality; development of new VR-techniques; introduction to 3D-computergraphics; modelling; physical based simulation; human factors; human interaction; equipment for virtual reality; display technologies; tracking systems; data gloves; interaction in virtual environment; navigation; collision detection; haptic and tactile interaction; rendering; VR-systems; VR-applications in industry, virtual mockup; data exchange, augmented reality. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | A complete version of the handout is also available in English. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Voraussetzungen: keine Vorlesung geeignet für D-MAVT, D-ITET, D-MTEC und D-INF Testat/ Kredit-Bedingungen/ Prüfung: –Teilnahme an Vorlesung und Kolloquien –Erfolgreiche Durchführung von Übungen in Teams | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401-0674-00L | Numerical Methods for Partial Differential Equations Not meant for BSc/MSc students of mathematics. | W | 10 credits | 2G + 2U + 2P + 4A | R. Hiptmair | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Derivation, properties, and implementation of fundamental numerical methods for a few key partial differential equations: convection-diffusion, heat equation, wave equation, conservation laws. Implementation in C++ based on a finite element library. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Main skills to be acquired in this course: * Ability to implement fundamental numerical methods for the solution of partial differential equations efficiently. * Ability to modify and adapt numerical algorithms guided by awareness of their mathematical foundations. * Ability to select and assess numerical methods in light of the predictions of theory * Ability to identify features of a PDE (= partial differential equation) based model that are relevant for the selection and performance of a numerical algorithm. * Ability to understand research publications on theoretical and practical aspects of numerical methods for partial differential equations. * Skills in the efficient implementation of finite element methods on unstructured meshes. This course is neither a course on the mathematical foundations and numerical analysis of methods nor an course that merely teaches recipes and how to apply software packages. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | 1.2.1 Elastic Membranes 1.2.2 Electrostatic Fields 1.2.3 Quadratic Minimization Problems 1.3 Sobolev spaces 1.4 Linear Variational Problems 1.5 EquilibriumModels: Boundary Value Problems 1.6 Diffusion Models: Stationary Heat Conduction 1.7 Boundary Conditions 1.8 Second-Order Elliptic Variational Problems 1.9 Essential and Natural Boundary Conditions 2.2 Principles of Galerkin Discretization 2.3 Case Study: Linear FEMfor Two-Point Boundary Value Problems 2.4 Case Study: Triangular Linear FEMin Two Dimensions I 2.4 Case Study: Triangular Linear FEMin Two Dimensions II 2.5 Building Blocks of General Finite Element Methods 2.6 Lagrangian Finite Element Methods 2.7.2 Mesh Information and Mesh Data Structures 2.7.4 Assembly Algorithms 2.7.5 Local Computations 2.7.6 Treatment of Essential Boundary Conditions 2.8 Parametric Finite Element Methods I 2.8 Parametric Finite Element Methods II 3.1 Abstract Galerkin Error Estimates 3.2 Empirical (Asymptotic) Convergence of Lagrangian FEM 3.3 A Priori (Asymptotic) Finite Element Error Estimates I 3.3 A Priori (Asymptotic) Finite Element Error Estimates II 3.3 A Priori (Asymptotic) Finite Element Error Estimates III 3.4 Elliptic Regularity Theory 3.5 Variational Crimes 3.6.1 Linear Output Functionals 3.6.2 Case Study: Computation of Boundary Fluxes with FEM 3.6.3 Lagrangian FEM: L2-Estimates 3.7 Discrete Maximum Principle 3.8 Validation and Debugging of Finite Element Codes 4.1 Finite Difference Methods (FDM) 4.2 Finite Volume Methods (FVM) 4.3 Spectral Galerkin Methods 4.4 Collocation Methods 6.1 Initial-Value Problems (IVPs) for Ordinary Differential Equations (ODEs) 6.2 Introduction: Polygonal Approximation Methods 6.3.2 (Asymptotic) Convergence of Single-Step Methods 6.3 General Single-Step Methods 6.4 Explicit Runge-Kutta Single-Step Methods (RKSSMs) 6.5 Adaptive Stepsize Control 7.1 Model Problem Analysis 7.2 Stiff Initial-Value Problems 7.3 Implicit Runge-Kutta Single-Step Methods 7.4 Semi-Implicit Runge-Kutta Methods 7.5 Splitting Methods 9.2.1 Heat Equation 9.2.2 Heat Equation: Spatial Variational Formulation 9.2.3 Stability of Parabolic Evolution Problems 9.2.4 Spatial Semi-Discretization: Method of Lines 9.2.7 Timestepping for Method-of-Lines ODE 9.2.8 Fully Discrete Method of Lines: Convergence 9.3.1 Models for Vibrating Membrane 9.3.2 Wave Propagation 9.3.3 Method of Lines for Wave Propagation 9.3.4 Timestepping for Semi-Discrete Wave Equations 9.3.5 The Courant-Friedrichs-Levy (CFL) Condition 10.1.1 Modeling Fluid Flow 10.1.2 Heat Convection and Diffusion 10.1.3 Incompressible Fluids 10.1.4 Time-Dependent (Transient) Heat Flow in a Fluid 10.2.1 Singular Perturbation 10.2.2 Upwinding 10.2.2.1 Upwind Quadrature 10.2.2.2 Streamline Diffusion 10.3.1 Method of Lines 10.3.2 Transport Equation 10.3.3 Lagrangian Split-Step Method 10.3.4 Semi-Lagrangian Method | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | The lecture will be taught in flipped classroom format: - Video tutorials for all thematic units will be published online. - Tablet notes accompanying the videos will be made available to the audience as PDF. - A comprehensive lecture document will cover all aspects of the course. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Chapters of the following books provide supplementary reading (detailed references in course material): * D. Braess: Finite Elemente, Theorie, schnelle Löser und Anwendungen in der Elastizitätstheorie, Springer 2007 (available online). * S. Brenner and R. Scott. Mathematical theory of finite element methods, Springer 2008 (available online). * A. Ern and J.-L. Guermond. Theory and Practice of Finite Elements, volume 159 of Applied Mathematical Sciences. Springer, New York, 2004. * Ch. Großmann and H.-G. Roos: Numerical Treatment of Partial Differential Equations, Springer 2007. * W. Hackbusch. Elliptic Differential Equations. Theory and Numerical Treatment, volume 18 of Springer Series in Computational Mathematics. Springer, Berlin, 1992. * P. Knabner and L. Angermann. Numerical Methods for Elliptic and Parabolic Partial Differential Equations, volume 44 of Texts in Applied Mathematics. Springer, Heidelberg, 2003. * S. Larsson and V. Thomée. Partial Differential Equations with Numerical Methods, volume 45 of Texts in Applied Mathematics. Springer, Heidelberg, 2003. * R. LeVeque. Finite Volume Methods for Hyperbolic Problems. Cambridge Texts in Applied Mathematics. Cambridge University Press, Cambridge, UK, 2002. However, study of supplementary literature is not important for for following the course. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Mastery of basic calculus and linear algebra is taken for granted. Familiarity with fundamental numerical methods (solution methods for linear systems of equations, interpolation, approximation, numerical quadrature, numerical integration of ODEs) is essential. Important: Coding skills and experience in C++ are essential. Homework assignments involve substantial coding, partly based on a C++ finite element library. The written examination will be computer based and will comprise coding tasks. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Students may also choose a seminar from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for this seminar. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-2310-00L | Understanding Context-Free Parsing Algorithms ![]() ![]() The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. Number of participants limited to 24. | W | 2 credits | 2S | R. Cotterell | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Parsing context-free grammars is a fundamental problem in natural language processing and computer science more broadly. This seminar will explore a classic text that unifies many algorithms for parsing in one framework. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Sikkel's notion of parsing schemata is explored in depth. The students should take away an understanding and fluency with these ideas. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Parsing Schemata: A Framework for Specification and Analysis of Parsing Algorithms | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-2603-00L | Seminar on Systems Security ![]() ![]() Number of participants limited to 22. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | S. Shinde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | The seminar focuses on critical thinking and critique of fundamental as well as recent advances in systems security. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The learning objective is to analyze selected research papers published at top systems+security venues and then identify open problems in this space. The seminar will achieve this via several components: reading papers, technical presentations, writing analysis and critique summaries, class discussions, and exploring potential research topics. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Each student will pick one paper from the selected list, present it in the class, and lead the discussion for that paper. During the semester, all students will select, read, and submit critique summaries for at least 8 research papers from the list. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | Students who are either interested in security research or are exploring thesis topics are highly encouraged to take this course. Students with systems/architecture/verification/PL expertise and basic security understanding are welcome. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-3510-00L | Computing Platforms ![]() ![]() The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | G. Alonso, M. J. Giardino | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | The seminar covers core concepts and ideas in the general area of computer systems, ranging from software and hardware architectures to system design for operating systems, data processing systems, and distributed systems. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The seminar will cover core concepts and ideas in the general area of computer systems, ranging from software and hardware architectures to system design for operating systems, data processing systems, and distributed systems. The focus will be on fundamental ideas that apply across systems and application areas but with an emphasis on those ideas that apply to cloud platforms and hardware acceler | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The seminar will consist on student presentations based on a list of papers that will be provided at the beginning of the course. Presentations will be done in teams. Presentations will be arranged in slots of 30 minutes talk plus 15 minutes questions. Grades will be assigned based on quality of the presentation, coverage of the topic including material not in the original papers, participation during the seminar, and ability to understand, present, and criticize the underlying technology. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-3800-00L | Advanced Topics in Mixed Reality ![]() ![]() Number of participants limited to 24. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 credits | 2S | C. Holz | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | In the recent years, there have been major technological advances in commercial virtual and augmented reality systems. Those advancements lead to many open challenges in terms of perception and interaction as well as technical challenges. In this course, students present and discuss papers from relevant top-tier research venues to extract techniques and insights from MR research. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | The objective of the seminar is for participants to collectively learn about the state-of-the-art research in Mixed Reality (primarily augmented and virtual reality) and closely related areas. This includes the ability to concisely present results of pioneering as well as state-of-the-art research. Another objective is to collectively discuss open issues in the field and developing a feeling for what constitutes research questions and outcomes in the field of technical Human-Computer Interaction. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The seminar format is as follows: attendees individually read one full-paper publication, working through its content in detail and possibly covering some of the background if necessary, and present the approach, methodology, research question and implementation as well as the evaluation and discussion in a 20–25 min talk in front of the others. Each presenter will then lead a short discussion about the paper, which is also guided by questions posed to the audience. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | 24 papers will be provided by the lecturer and distributed in the first seminar on a first-come, first-served basis according to participants' preferences. The lecturer will also give a brief run-down across all 24 papers in a fast-forward style, covering each paper in a single-minute presentation, and outline the difficulties of each project. The schedule is fixed throughout the term with easier papers being presented earlier and more comprehensive papers presented later in the term. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | All students (including students on waiting list) are welcome in the first seminar to see the overview over the papers we will discuss. After assigning papers, the seminar will be limited to 24 attendees, i.e., only enrolled students can participate in the presentations and discussions. |
Page 1 of 3
All