Search result: Catalogue data in Spring Semester 2022

Computer Science Bachelor Information
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-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.
Learning 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).
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Decision-makingfostered
Media and Digital Technologiesfostered
Problem-solvingassessed
Project Managementfostered
Social CompetenciesCommunicationassessed
Cooperation and Teamworkfostered
Customer Orientationfostered
Leadership and Responsibilityfostered
Self-presentation and Social Influence fostered
Sensitivity to Diversityassessed
Negotiationassessed
Personal CompetenciesAdaptability and Flexibilityfostered
Creative Thinkingassessed
Critical Thinkingassessed
Integrity and Work Ethicsfostered
Self-awareness and Self-reflection fostered
Self-direction and Self-management fostered
252-0820-00LInformation Technology in PracticeW5 credits2V + 1U + 1AM. 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.
Learning objectiveStudents 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.
ContentThe 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 / NoticeThe 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-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.
Learning 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 noteshttps://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 / NoticeStudents must be familiar with the content of High Performance Computing for Science and Engineering I (151-0107-20L)
151-0306-00LVisualization, Simulation and Interaction - Virtual Reality I Information W4 credits4GA. Kunz
AbstractTechnology 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 objectiveThe 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)
ContentIntroduction 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 notesA complete version of the handout is also available in English.
Prerequisites / NoticeVoraussetzungen: 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-00LNumerical Methods for Partial Differential Equations
Not meant for BSc/MSc students of mathematics.
W10 credits2G + 2U + 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.
Learning 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.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 notesThe 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.
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.
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Problem-solvingassessed
  •  Page  1  of  1