Search result: Catalogue data in Spring Semester 2019

Computer Science Bachelor Information
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 + 2UM. Burger
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, F. K. Gürkaynak
AbstractThe 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.
ObjectiveThis 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.
ContentThe class consists of the following main blocks of contents:
- Digital Logic Design: Combinational Logic, Sequential Logic, Hardware Description Languages, FPGAs.
- Von Neumann Model of Computing: ISA, Microarchitecture, Microprogramming.
- Processor Design Methods: Pipelining, Out-of-Order Execution, Branch Prediction.
- Processing Paradigms: Out-of-order Execution, Dataflow, VLIW, SIMD Processors, GPUs, Systolic Arrays, Multithreading.
- Memory System: Memory Organization, Memory Technologies, Memory Hierarchy, Caches, Virtual Memory.
Lecture notesAll the materials (including lecture slides) will be provided on the course website:
Link
The video recordings of the lectures are likely to be made available after lectures.
LiteraturePatt 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. They will be mostly chapters of the two textbooks, and important articles that are essential for understanding current computer architectures.
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
AbstractEs 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.
ContentFortsetzung der Vorlesung Algorithmen und Datenstrukturen des ersten Semesters.
Basic Courses
NumberTitleTypeECTSHoursLecturers
252-0058-00LFormal Methods and Functional Programming Information O7 credits4V + 2UD. Basin, P. Müller, D. Traytel
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)
401-0614-00LProbability and Statistics Information O5 credits2V + 2UM. Schweizer
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
Lecture notesLernmaterialien sind erhältlich auf Link
Core Courses
Major: Systems and Software Engineering
NumberTitleTypeECTSHoursLecturers
252-0210-00LCompiler Design
Does not take place this semester.
Takes place next autumn semester.
O8 credits4V + 3Unot available
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-00LRigorous Software Engineering Information
Previously called Software Architecture and Engineering
O8 credits4V + 3UZ. Su, 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:

- Understand, end-to-end (theoretical and practical), the core techniques 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 Restricted registration - show details
Previously called Learning and Intelligent Systems.
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-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)
LiteratureTextbook: Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press
Prerequisites / NoticeDesigned to provide a basis for following courses:
- Advanced Machine Learning
- Deep Learning
- 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, E. Mohammadi
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
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.
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
AbstractThis 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.
ObjectiveWe 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.
Content1. 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.
LiteratureC. D. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval, Cambridge University Press.
Prerequisites / NoticePrior 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).
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 about 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 2019 will be announced at course start.
Prerequisites / NoticeParticipants should be aware that the provided documents supporting the cases are usually taken directly from the projects and companies being addressed, and thus differ very much in terms of presentation style, terminology, and explicitly provided contextual information.
Earlier participants have found it difficult to solve the exercises completely and to fully grasp the contents taught in the cases, if they were not able to attend the case presentation, and were just relying on the provided documents.
151-0116-10LHigh Performance Computing for Science and Engineering (HPCSE) for Engineers II Information W4 credits4GP. Koumoutsakos, S. M. Martin
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.
401-0674-00LNumerical Methods for Partial Differential Equations
Not meant for BSc/MSc students of mathematics.
W8 credits2G + 2P + 4AR. Hiptmair
AbstractDerivation, 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.
ObjectiveMain 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.
Content1 Case Study: A Two-point Boundary Value Problem [optional]
1.1 Introduction
1.2 A model problem
1.3 Variational approach
1.4 Simplified model
1.5 Discretization
1.5.1 Galerkin discretization
1.5.2 Collocation [optional]
1.5.3 Finite differences
1.6 Convergence
2 Second-order Scalar Elliptic Boundary Value Problems
2.1 Equilibrium models
2.1.1 Taut membrane
2.1.2 Electrostatic fields
2.1.3 Quadratic minimization problems
2.2 Sobolev spaces
2.3 Variational formulations
2.4 Equilibrium models: Boundary value problems
3 Finite Element Methods (FEM)
3.1 Galerkin discretization
3.2 Case study: Triangular linear FEM in two dimensions
3.3 Building blocks of general FEM
3.4 Lagrangian FEM
3.4.1 Simplicial Lagrangian FEM
3.4.2 Tensor-product Lagrangian FEM
3.5 Implementation of FEM in C++
3.5.1 Mesh file format (Gmsh)
3.5.2 Mesh data structures (DUNE)
3.5.3 Assembly
3.5.4 Local computations and quadrature
3.5.5 Incorporation of essential boundary conditions
3.6 Parametric finite elements
3.6.1 Affine equivalence
3.6.2 Example: Quadrilaterial Lagrangian finite elements
3.6.3 Transformation techniques
3.6.4 Boundary approximation
3.7 Linearization [optional]
4 Finite Differences (FD) and Finite Volume Methods (FV) [optional]
4.1 Finite differences
4.2 Finite volume methods (FVM)
5 Convergence and Accuracy
5.1 Galerkin error estimates
5.2 Empirical Convergence of FEM
5.3 Finite element error estimates
5.4 Elliptic regularity theory
5.5 Variational crimes
5.6 Duality techniques [optional]
5.7 Discrete maximum principle [optional]
6 2nd-Order Linear Evolution Problems
6.1 Parabolic initial-boundary value problems
6.1.1 Heat equation
6.1.2 Spatial variational formulation
6.1.3 Method of lines
6.1.4 Timestepping
6.1.5 Convergence
6.2 Wave equations [optional]
6.2.1 Vibrating membrane
6.2.2 Wave propagation
6.2.3 Method of lines
6.2.4 Timestepping
6.2.5 CFL-condition
7 Convection-Diffusion Problems [optional]
7.1 Heat conduction in a fluid
7.1.1 Modelling fluid flow
7.1.2 Heat convection and diffusion
7.1.3 Incompressible fluids
7.1.4 Transient heat conduction
7.2 Stationary convection-diffusion problems
7.2.1 Singular perturbation
7.2.2 Upwinding
7.3 Transient convection-diffusion BVP
7.3.1 Method of lines
7.3.2 Transport equation
7.3.3 Lagrangian split-step method
7.3.4 Semi-Lagrangian method
8 Numerical Methods for Conservation Laws
8.1 Conservation laws: Examples
8.2 Scalar conservation laws in 1D
8.3 Conservative finite volume discretization
8.3.1 Semi-discrete conservation form
8.3.2 Discrete conservation property
8.3.3 Numerical flux functions
8.3.4 Montone schemes
8.4 Timestepping
8.4.1 Linear stability
8.4.2 CFL-condition
8.4.3 Convergence
8.5 Higher order conservative schemes [optional]
8.5.1 Slope limiting
8.5.2 MUSCL scheme
8.6. FV-schemes for systems of conservation laws [optional]

"optional" indicates that the corresponding topic might be skipped depending on the progress of the course.
Lecture notesThe lecture will be taught in flipped classroom format:
- Video tutorials for all thematic units will be published online.
- Solution of homework problems will be covered by video tutorials.
- Lecture documents and tablet notes accompanying the videos will be made available to the audience as PDF.
LiteratureChapters 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 / NoticeMastery 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.
Minor Courses
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
151-3217-00LCoaching Student Teams (Basic Training)W1 credit1GM. Lehner, 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.
  •  Page  1  of  3 Next page Last page     All