Search result: Catalogue data in Autumn Semester 2020
Computational Science and Engineering Master ![]() | ||||||
![]() In the ‘electives’ subcategory, at least two course units must be successfully completed. | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
151-0532-00L | Nonlinear Dynamics and Chaos I ![]() | W | 4 credits | 2V + 2U | G. Haller | |
Abstract | Basic facts about nonlinear systems; stability and near-equilibrium dynamics; bifurcations; dynamical systems on the plane; non-autonomous dynamical systems; chaotic dynamics. | |||||
Objective | This course is intended for Masters and Ph.D. students in engineering sciences, physics and applied mathematics who are interested in the behavior of nonlinear dynamical systems. It offers an introduction to the qualitative study of nonlinear physical phenomena modeled by differential equations or discrete maps. We discuss applications in classical mechanics, electrical engineering, fluid mechanics, and biology. A more advanced Part II of this class is offered every other year. | |||||
Content | (1) Basic facts about nonlinear systems: Existence, uniqueness, and dependence on initial data. (2) Near equilibrium dynamics: Linear and Lyapunov stability (3) Bifurcations of equilibria: Center manifolds, normal forms, and elementary bifurcations (4) Nonlinear dynamical systems on the plane: Phase plane techniques, limit sets, and limit cycles. (5) Time-dependent dynamical systems: Floquet theory, Poincare maps, averaging methods, resonance | |||||
Lecture notes | The class lecture notes will be posted electronically after each lecture. Students should not rely on these but prepare their own notes during the lecture. | |||||
Prerequisites / Notice | - Prerequisites: Analysis, linear algebra and a basic course in differential equations. - Exam: two-hour written exam in English. - Homework: A homework assignment will be due roughly every other week. Hints to solutions will be posted after the homework due dates. | |||||
151-0317-00L | Visualization, Simulation and Interaction - Virtual Reality II | W | 4 credits | 3G | A. Kunz | |
Abstract | This lecture provides deeper knowledge on the possible applications of virtual reality, its basic technolgy, and future research fields. The goal is to provide a strong knowledge on Virtual Reality for a possible future use in business processes. | |||||
Objective | Virtual Reality can not only be used for the visualization of 3D objects, but also offers a wide application field for small and medium enterprises (SME). This could be for instance an enabling technolgy for net-based collaboration, the transmission of images and other data, the interaction of the human user with the digital environment, or the use of augmented reality systems. The goal of the lecture is to provide a deeper knowledge of today's VR environments that are used in business processes. The technical background, the algorithms, and the applied methods are explained more in detail. Finally, future tasks of VR will be discussed and an outlook on ongoing international research is given. | |||||
Content | Introduction into Virtual Reality; basisc of augmented reality; interaction with digital data, tangible user interfaces (TUI); basics of simulation; compression procedures of image-, audio-, and video signals; new materials for force feedback devices; intorduction into data security; cryptography; definition of free-form surfaces; digital factory; new research fields of virtual reality | |||||
Lecture notes | The handout is available in German and English. | |||||
Prerequisites / Notice | Prerequisites: "Visualization, Simulation and Interaction - Virtual Reality I" is recommended, but not mandatory. Didactical concept: The course consists of lectures and exercises. | |||||
151-0833-00L | Applied Finite Element Analysis ![]() Note: previous course title until HS19 "Principles of Nonlinear Finite-Element-Methods". | W | 4 credits | 2V + 2U | B. Berisha, N. Manopulo | |
Abstract | Most problems in engineering are of nonlinear nature. The nonlinearities are caused basically due to the nonlinear material behavior, contact conditions and instability of structures. The principles of the nonlinear Finite-Element-Method (FEM) will be introduced in the scope of this lecture for treating such problems. | |||||
Objective | The goal of the lecture is to provide the students with the fundamentals of the non linear Finite Element Method (FEM). The lecture focuses on the principles of the nonlinear Finite-Element-Method based on explicit and implicit formulations. Typical applications of the nonlinear Finite-Element-Methods are simulations of: - Crash - Collapse of structures - Materials in Biomechanics (soft materials) - General forming processes Special attention will be paid to the modeling of the nonlinear material behavior, thermo-mechanical processes and processes with large plastic deformations. The ability to independently create a virtual model which describes the complex non linear systems will be acquired through accompanying exercises. These will include the Matlab programming of important model components such as constitutive equations | |||||
Content | - Fundamentals of continuum mechanics to characterize large plastic deformations - Elasto-plastic material models - Updated-Lagrange (UL), Euler and combined Euler-Lagrange (ALE) approaches - FEM implementation of constitutive equations - Element formulations - Implicit and explicit FEM methods - FEM formulations of coupled thermo-mechanical problems - Modeling of tool contact and the influence of friction - Solvers and convergence - Modeling of crack propagation - Introduction of advanced FE-Methods | |||||
Lecture notes | yes | |||||
Literature | Bathe, K. J., Finite-Element-Procedures, Prentice-Hall, 1996 | |||||
263-2800-00L | Design of Parallel and High-Performance Computing ![]() | W | 9 credits | 3V + 2U + 3A | T. Hoefler, M. Püschel | |
Abstract | Advanced topics in parallel and high-performance computing. | |||||
Objective | Understand concurrency paradigms and models from a higher perspective and acquire skills for designing, structuring and developing possibly large parallel high-performance software systems. Become able to distinguish parallelism in problem space and in machine space. Become familiar with important technical concepts and with concurrency folklore. | |||||
Content | We will cover all aspects of high-performance computing ranging from architecture through programming up to algorithms. We will start with a discussion of caches and cache coherence in practical computer systems. We will dive into parallel programming concepts such as memory models, locks, and lock-free. We will cover performance modeling and parallel design principles as well as basic parallel algorithms. | |||||
Prerequisites / Notice | This class is intended for the Computer Science Masters curriculum. Students must have basic knowledge in programming in C as well as computer science theory. Students should be familiar with the material covered in the ETH computer science first-year courses "Parallele Programmierung (parallel programming)" and "Algorithmen und Datenstrukturen (algorithm and data structures)" or equivalent courses. | |||||
263-5905-00L | Mixed Reality Laboratory ![]() This only applies to Study Regulations 09: In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | F. Bogo, M. R. Oswald | |
Abstract | The goal of this course is an introduction and hands-on experience on latest mixed reality technology at the cross-section of 3D computer graphics and vision, human machine interaction as well as gaming technology. | |||||
Objective | The goal is to get a clear understanding on how to build mixed reality apps, covering current software SDKs and game engines, as well as foundations of 3D graphics, computer vision and human machine interaction. Small groups of students will realize a particular software project and deploy it to an MR/AR device such as Microsoft HoloLens or a tablet or smartphone. | |||||
Content | The course introduces latest mixed reality technology and provides introductory elements for a number of related fields including: Introduction to Mixed Reality / Augmented Reality / Virtual Reality Introduction to 3D Computer Graphics, 3D Computer Vision During the course, small groups of students will work on a particular project with the goal to design, develop and deploy a mixed reality application. The project topics are flexible and can reach from proof-of-concept vision/graphics/hmi research, to apps that support teaching with interactive augmented reality, or game development. The default platform will be Microsoft HoloLens in combination with C# and Unity3D. Besides introductory lectures and guest lectures covering the above mentioned topics, the focus of this course is on the project work and technical project-related aspects. There will be no exercises, but weekly meetings to exchange ideas, discuss technical issues and to track progress. | |||||
Prerequisites / Notice | Prerequisites include: - Good programming skills (C# / C++ / Java etc.) - Computer graphics/vision experience: Students should have taken, at a minimum, Visual Computing. Higher level courses are recommended, such as Introduction to Computer Graphics, 3D Vision, Computer Vision. | |||||
227-0102-00L | Discrete Event Systems ![]() | W | 6 credits | 4G | L. Thiele, L. Vanbever, R. Wattenhofer | |
Abstract | Introduction to discrete event systems. We start out by studying popular models of discrete event systems. In the second part of the course we analyze discrete event systems from an average-case and from a worst-case perspective. Topics include: Automata and Languages, Specification Models, Stochastic Discrete Event Systems, Worst-Case Event Systems, Verification, Network Calculus. | |||||
Objective | Over the past few decades the rapid evolution of computing, communication, and information technologies has brought about the proliferation of new dynamic systems. A significant part of activity in these systems is governed by operational rules designed by humans. The dynamics of these systems are characterized by asynchronous occurrences of discrete events, some controlled (e.g. hitting a keyboard key, sending a message), some not (e.g. spontaneous failure, packet loss). The mathematical arsenal centered around differential equations that has been employed in systems engineering to model and study processes governed by the laws of nature is often inadequate or inappropriate for discrete event systems. The challenge is to develop new modeling frameworks, analysis techniques, design tools, testing methods, and optimization processes for this new generation of systems. In this lecture we give an introduction to discrete event systems. We start out the course by studying popular models of discrete event systems, such as automata and Petri nets. In the second part of the course we analyze discrete event systems. We first examine discrete event systems from an average-case perspective: we model discrete events as stochastic processes, and then apply Markov chains and queuing theory for an understanding of the typical behavior of a system. In the last part of the course we analyze discrete event systems from a worst-case perspective using the theory of online algorithms and adversarial queuing. | |||||
Content | 1. Introduction 2. Automata and Languages 3. Smarter Automata 4. Specification Models 5. Stochastic Discrete Event Systems 6. Worst-Case Event Systems 7. Network Calculus | |||||
Lecture notes | Available | |||||
Literature | [bertsekas] Data Networks Dimitri Bersekas, Robert Gallager Prentice Hall, 1991, ISBN: 0132009161 [borodin] Online Computation and Competitive Analysis Allan Borodin, Ran El-Yaniv. Cambridge University Press, 1998 [boudec] Network Calculus J.-Y. Le Boudec, P. Thiran Springer, 2001 [cassandras] Introduction to Discrete Event Systems Christos Cassandras, Stéphane Lafortune. Kluwer Academic Publishers, 1999, ISBN 0-7923-8609-4 [fiat] Online Algorithms: The State of the Art A. Fiat and G. Woeginger [hochbaum] Approximation Algorithms for NP-hard Problems (Chapter 13 by S. Irani, A. Karlin) D. Hochbaum [schickinger] Diskrete Strukturen (Band 2: Wahrscheinlichkeitstheorie und Statistik) T. Schickinger, A. Steger Springer, Berlin, 2001 [sipser] Introduction to the Theory of Computation Michael Sipser. PWS Publishing Company, 1996, ISBN 053494728X | |||||
227-0116-00L | VLSI I: From Architectures to VLSI Circuits and FPGAs ![]() | W | 6 credits | 5G | F. K. Gürkaynak, L. Benini | |
Abstract | This first course in a series that extends over three consecutive terms is concerned with tailoring algorithms and with devising high performance hardware architectures for their implementation as ASIC or with FPGAs. The focus is on front end design using HDLs and automatic synthesis for producing industrial-quality circuits. | |||||
Objective | Understand Very-Large-Scale Integrated Circuits (VLSI chips), Application-Specific Integrated Circuits (ASIC), and Field-Programmable Gate-Arrays (FPGA). Know their organization and be able to identify suitable application areas. Become fluent in front-end design from architectural conception to gate-level netlists. How to model digital circuits with SystemVerilog. How to ensure they behave as expected with the aid of simulation, testbenches, and assertions. How to take advantage of automatic synthesis tools to produce industrial-quality VLSI and FPGA circuits. Gain practical experience with the hardware description language SystemVerilog and with industrial Electronic Design Automation (EDA) tools. | |||||
Content | This course is concerned with system-level issues of VLSI design and FPGA implementations. Topics include: - Overview on design methodologies and fabrication depths. - Levels of abstraction for circuit modeling. - Organization and configuration of commercial field-programmable components. - FPGA design flows. - Dedicated and general purpose architectures compared. - How to obtain an architecture for a given processing algorithm. - Meeting throughput, area, and power goals by way of architectural transformations. - Hardware Description Languages (HDL) and the underlying concepts. - SystemVerilog - Register Transfer Level (RTL) synthesis and its limitations. - Building blocks of digital VLSI circuits. - Functional verification techniques and their limitations. - Modular and largely reusable testbenches. - Assertion-based verification. - Synchronous versus asynchronous circuits. - The case for synchronous circuits. - Periodic events and the Anceau diagram. - Case studies, ASICs compared to microprocessors, DSPs, and FPGAs. During the exercises, students learn how to model FPGAs with SystemVerilog. They write testbenches for simulation purposes and synthesize gate-level netlists for FPGAs. Commercial EDA software by leading vendors is being used throughout. | |||||
Lecture notes | Textbook and all further documents in English. | |||||
Literature | H. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303. | |||||
Prerequisites / Notice | Prerequisites: Basics of digital circuits. Examination: In written form following the course semester (spring term). Problems are given in English, answers will be accepted in either English oder German. Further details: https://iis-students.ee.ethz.ch/lectures/vlsi-i/ | |||||
227-0148-00L | VLSI III: Test and Fabrication of VLSI Circuits ![]() | W | 6 credits | 4G | F. K. Gürkaynak, L. Benini | |
Abstract | In this course, we will cover how modern microchips are fabricated, and we will focus on methods and tools to uncover fabrication defects, if any, in these microchips. As part of the exercises, students will get to work on an industrial 1 million dollar automated test equipment. | |||||
Objective | Learn about modern IC manufacturing methodologies, understand the problem of IC testing. Cover the basic methods, algorithms and techniques to test circuits in an efficient way. Learn about practical aspects of IC testing and apply what you learn in class using a state-of-the art tester. | |||||
Content | In this course we will deal with modern integrated circuit (IC) manufacturing technology and cover topics such as: - Today's nanometer CMOS fabrication processes (HKMG). - Optical and post optical Photolithography. - Potential alternatives to CMOS technology and MOSFET devices. - Evolution paths for design methodology. - Industrial roadmaps for the future evolution of semiconductor technology (ITRS). If you want to earn money by selling ICs, you will have to deliver a product that will function properly with a very large probability. The main emphasis of the lecture will be discussing how this can be achieved. We will discuss fault models and practical techniques to improve testability of VLSI circuits. At the IIS we have a state-of-the-art automated test equipment (Advantest SoC V93000) that we will make available for in class exercises and projects. At the end of the lecture you will be able to design state-of-the art digital integrated circuits such as to make them testable and to use automatic test equipment (ATE) to carry out the actual testing. During the first weeks of the course there will be weekly practical exercises where you will work in groups of two. For the last 5 weeks of the class students will be able to choose a class project that can be: - The test of their own chip developed during a previous semester thesis - Developing new setups and measurement methods in C++ on the tester - Helping to debug problems encountered in previous microchips by IIS. Half of the oral exam will consist of a short presentation on this class project. | |||||
Lecture notes | Main course book: "Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits" by Michael L. Bushnell and Vishwani D. Agrawal, Springer, 2004. This book is available online within ETH through http://link.springer.com/book/10.1007%2Fb117406 | |||||
Prerequisites / Notice | Although this is the third part in a series of lectures on VLSI design, you can follow this course even if you have not visited VLSI I and VLSI II lectures. An interest in integrated circuit design, and basic digital circuit knowledge is required though. Course website: https://iis-students.ee.ethz.ch/lectures/vlsi-iii/ | |||||
227-0381-00L | Optical Coherence Tomography in Medicine | W | 3 credits | 2G | S. Kling | |
Abstract | Optical Coherence Tomography (OCT) is a non-invasive high-resolution imaging technique particularly useful for structural and functional medical imaging. In this course, the fundamentals of image formation, post-processing, optical designs and medical applications will be introduced. | |||||
Objective | Students are equipped with the knowledge to describe the underlying theoretical working principle of OCT, to perform basic post-processing steps on raw data, to evaluate the impact of individual hardware components on imaging quality, to design a customized OCT set-up for a particular application. | |||||
Content | This course covers basic theory of OCT (e.g. light interference, image formation, resolution, dispersion, speckles, noise, artifacts), signal post-processing (e.g. remapping, optical dispersion correction, displacement tracking), state-of-the-art OCT technology (e.g. light sources, optical designs, scanning procedures), aberration-free adaptive optics OCT, Doppler and polarization-sensitive imaging techniques, optical coherence microscopy, medical OCT applications. Exercises: Hands-on exercises will permit the students to explore real OCT data and to apply theoretical concepts of image formation and signal processing. Exercises: Hands-on exercises will permit the student to explore real OCT data, and to apply theoretical concepts of image formation and signal processing. | |||||
Lecture notes | Will be provided online | |||||
Prerequisites / Notice | Basic programming skills in Matlab. | |||||
227-0417-00L | Information Theory I | W | 6 credits | 4G | A. Lapidoth | |
Abstract | This course covers the basic concepts of information theory and of communication theory. Topics covered include the entropy rate of a source, mutual information, typical sequences, the asymptotic equi-partition property, Huffman coding, channel capacity, the channel coding theorem, the source-channel separation theorem, and feedback capacity. | |||||
Objective | The fundamentals of Information Theory including Shannon's source coding and channel coding theorems | |||||
Content | The entropy rate of a source, Typical sequences, the asymptotic equi-partition property, the source coding theorem, Huffman coding, Arithmetic coding, channel capacity, the channel coding theorem, the source-channel separation theorem, feedback capacity | |||||
Literature | T.M. Cover and J. Thomas, Elements of Information Theory (second edition) | |||||
227-0427-00L | Signal Analysis, Models, and Machine Learning Does not take place this semester. This course has been replaced by "Introduction to Estimation and Machine Learning" (autumn semester) and "Advanced Signal Analysis, Modeling, and Machine Learning" (spring semester). | W | 6 credits | 4G | H.‑A. Loeliger | |
Abstract | Mathematical methods in signal processing and machine learning. I. Linear signal representation and approximation: Hilbert spaces, LMMSE estimation, regularization and sparsity. II. Learning linear and nonlinear functions and filters: neural networks, kernel methods. III. Structured statistical models: hidden Markov models, factor graphs, Kalman filter, Gaussian models with sparse events. | |||||
Objective | The course is an introduction to some basic topics in signal processing and machine learning. | |||||
Content | Part I - Linear Signal Representation and Approximation: Hilbert spaces, least squares and LMMSE estimation, projection and estimation by linear filtering, learning linear functions and filters, L2 regularization, L1 regularization and sparsity, singular-value decomposition and pseudo-inverse, principal-components analysis. Part II - Learning Nonlinear Functions: fundamentals of learning, neural networks, kernel methods. Part III - Structured Statistical Models and Message Passing Algorithms: hidden Markov models, factor graphs, Gaussian message passing, Kalman filter and recursive least squares, Monte Carlo methods, parameter estimation, expectation maximization, linear Gaussian models with sparse events. | |||||
Lecture notes | Lecture notes. | |||||
Prerequisites / Notice | Prerequisites: - local bachelors: course "Discrete-Time and Statistical Signal Processing" (5. Sem.) - others: solid basics in linear algebra and probability theory | |||||
227-0627-00L | Applied Computer Architecture | W | 6 credits | 4G | A. Gunzinger | |
Abstract | This lecture gives an overview of the requirements and the architecture of parallel computer systems, performance, reliability and costs. | |||||
Objective | Understand the function, the design and the performance modeling of parallel computer systems. | |||||
Content | The lecture "Applied Computer Architecture" gives technical and corporate insights in innovative Computer Systems/Architectures (CPU, GPU, FPGA, dedicated processors) and their real implementations and applications. Often the designs have to deal with technical limits. Which computer architecture allows the control of the over 1000 magnets at the Swiss Light Source (SLS)? Which architecture is behind the alarm center of the Swiss Railway (SBB)? Which computer architectures are applied for driver assistance systems? Which computer architecture is hidden behind a professional digital audio mixing desk? How can data streams of about 30 TB/s, produced by a protone accelerator, be processed in real time? Can the weather forecast also be processed with GPUs? How can a good computer architecture be found? Which are the driving factors in succesful computer architecture design? | |||||
Lecture notes | Script and exercices sheets. | |||||
Prerequisites / Notice | Prerequisites: Basics of computer architecture. | |||||
227-0124-00L | Embedded Systems ![]() | W | 6 credits | 4G | L. Thiele | |
Abstract | An 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. | |||||
Objective | Understanding 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. | |||||
Content | An 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 https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html . | |||||
Lecture notes | The following information will be available: Lecture material, publications, exercise sheets and laboratory documentation at https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html . | |||||
Literature | P. 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 / Notice | Prerequisites: Basic knowledge in computer architectures and programming. | |||||
227-0971-00L | Computational Psychiatry ![]() Please note that participation in this course and the practical sessions requires additional registration until 23.8.2020 at: http://www.translationalneuromodeling.org/cpcourse/ | W | 3 credits | 4S | K. Stephan | |
Abstract | This six-day course teaches state-of-the-art methods in computational psychiatry. It covers various computational models of cognition (e.g., learning and decision-making) and brain physiology (e.g., effective connectivity) of relevance for psychiatric disorders. The course not only provides theoretical background, but also demonstrates open source software in application to concrete examples. | |||||
Objective | This course aims at bridging the gap between mathematical modelers and clinical neuroscientists by teaching computational techniques in the context of clinical applications. The hope is that the acquisition of a joint language and tool-kit will enable more effective communication and joint translational research between fields that are usually worlds apart. | |||||
Content | This six-day course teaches state-of-the-art methods in computational psychiatry. It covers various computational models of cognition (e.g., learning and decision-making) and brain physiology (e.g., effective connectivity) of relevance for psychiatric disorders. The course not only provides theoretical background, but also demonstrates open source software in application to concrete examples. Furthermore, practical exercises provide in-depth exposure to different software packages. Please see http://www.translationalneuromodeling.org/cpcourse/ for details. | |||||
252-0237-00L | Concepts of Object-Oriented Programming ![]() | W | 8 credits | 3V + 2U + 2A | P. Müller | |
Abstract | Course that focuses on an in-depth understanding of object-oriented programming and compares designs of object-oriented programming languages. Topics include different flavors of type systems, inheritance models, encapsulation in the presence of aliasing, object and class initialization, program correctness, reflection | |||||
Objective | After this course, students will: Have a deep understanding of advanced concepts of object-oriented programming and their support through various language features. Be able to understand language concepts on a semantic level and be able to compare and evaluate language designs. Be able to learn new languages more rapidly. Be aware of many subtle problems of object-oriented programming and know how to avoid them. | |||||
Content | The main goal of this course is to convey a deep understanding of the key concepts of sequential object-oriented programming and their support in different programming languages. This is achieved by studying how important challenges are addressed through language features and programming idioms. In particular, the course discusses alternative language designs by contrasting solutions in languages such as C++, C#, Eiffel, Java, Python, and Scala. The course also introduces novel ideas from research languages that may influence the design of future mainstream languages. The topics discussed in the course include among others: The pros and cons of different flavors of type systems (for instance, static vs. dynamic typing, nominal vs. structural, syntactic vs. behavioral typing) The key problems of single and multiple inheritance and how different languages address them Generic type systems, in particular, Java generics, C# generics, and C++ templates The situations in which object-oriented programming does not provide encapsulation, and how to avoid them The pitfalls of object initialization, exemplified by a research type system that prevents null pointer dereferencing How to maintain the consistency of data structures | |||||
Literature | Will be announced in the lecture. | |||||
Prerequisites / Notice | Prerequisites: Mastering at least one object-oriented programming language (this course will NOT provide an introduction to object-oriented programming); programming experience | |||||
252-0417-00L | Randomized Algorithms and Probabilistic Methods ![]() Does not take place this semester. | W | 10 credits | 3V + 2U + 4A | A. Steger | |
Abstract | Las Vegas & Monte Carlo algorithms; inequalities of Markov, Chebyshev, Chernoff; negative correlation; Markov chains: convergence, rapidly mixing; generating functions; Examples include: min cut, median, balls and bins, routing in hypercubes, 3SAT, card shuffling, random walks | |||||
Objective | After this course students will know fundamental techniques from probabilistic combinatorics for designing randomized algorithms and will be able to apply them to solve typical problems in these areas. | |||||
Content | Randomized Algorithms are algorithms that "flip coins" to take certain decisions. This concept extends the classical model of deterministic algorithms and has become very popular and useful within the last twenty years. In many cases, randomized algorithms are faster, simpler or just more elegant than deterministic ones. In the course, we will discuss basic principles and techniques and derive from them a number of randomized methods for problems in different areas. | |||||
Lecture notes | Yes. | |||||
Literature | - Randomized Algorithms, Rajeev Motwani and Prabhakar Raghavan, Cambridge University Press (1995) - Probability and Computing, Michael Mitzenmacher and Eli Upfal, Cambridge University Press (2005) | |||||
252-0206-00L | Visual Computing ![]() | W | 8 credits | 4V + 3U | M. Pollefeys, S. Coros | |
Abstract | This course acquaints students with core knowledge in computer graphics, image processing, multimedia and computer vision. Topics include: Graphics pipeline, perception and camera models, transformation, shading, global illumination, texturing, sampling, filtering, image representations, image and video compression, edge detection and optical flow. | |||||
Objective | This course provides an in-depth introduction to the core concepts of computer graphics, image processing, multimedia and computer vision. The course forms a basis for the specialization track Visual Computing of the CS master program at ETH. | |||||
Content | Course topics will include: Graphics pipeline, perception and color models, camera models, transformations and projection, projections, lighting, shading, global illumination, texturing, sampling theorem, Fourier transforms, image representations, convolution, linear filtering, diffusion, nonlinear filtering, edge detection, optical flow, image and video compression. In theoretical and practical homework assignments students will learn to apply and implement the presented concepts and algorithms. | |||||
Lecture notes | Copies of the slides will be available for download. We will also provide a detailed list of references and textbooks. | |||||
Literature | Markus Gross: Computer Graphics, scriptum, 1994-2005 | |||||
252-0543-01L | Computer Graphics ![]() | W | 8 credits | 3V + 2U + 2A | M. Gross, M. Papas | |
Abstract | This course covers some of the fundamental concepts of computer graphics generation of photorealistic images from digital representations of 3D scenes and image-based methods for recovering digital scene representations from captured images. | |||||
Objective | At the end of the course the students will be able to build a rendering system. The students will study the basic principles of rendering and image synthesis. In addition, the course is intended to stimulate the students' curiosity to explore the field of computer graphics in subsequent courses or on their own. | |||||
Content | This course covers fundamental concepts of modern computer graphics. Students will learn about 3D object representations and the details of how to generate photorealistic images from digital representations of 3D scenes. Starting with an introduction to 3D shape modeling, geometry representation and texture mapping, we will move on to the physics of light transport, acceleration structures, appearance modeling and Monte Carlo integration. We will apply these principles for computing light transport of direct and global illumination due to surfaces and participating media. We will end with an overview of modern image-based capture and image synthesis methods, covering topics such as geometry and material capture, light-fields and depth-image based rendering. | |||||
Lecture notes | no | |||||
Literature | Books: High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting Multiple view geometry in computer vision Physically Based Rendering: From Theory to Implementation | |||||
Prerequisites / Notice | Prerequisites: Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, programming skills in C++, Visual Computing course recommended. The programming assignments will be in C++. This will not be taught in the class. | |||||
252-0546-00L | Physically-Based Simulation in Computer Graphics | W | 5 credits | 2V + 1U + 1A | V. da Costa de Azevedo, B. Solenthaler | |
Abstract | This lecture provides an introduction to physically-based animation in computer graphics and gives an overview of fundamental methods and algorithms. The practical exercises include three assignments which are to be solved in small groups. In an addtional course project, topics from the lecture will be implemented into a 3D game or a comparable application. | |||||
Objective | This lecture provides an introduction to physically-based animation in computer graphics and gives an overview of fundamental methods and algorithms. The practical exercises include three assignments which are to be solved in small groups. In an addtional course project, topics from the lecture will be implemented into a 3D game or a comparable application. | |||||
Content | The lecture covers topics in physically-based modeling, such as particle systems, mass-spring models, finite difference and finite element methods. These approaches are used to represent and simulate deformable objects or fluids with applications in animated movies, 3D games and medical systems. Furthermore, the lecture covers topics such as rigid body dynamics, collision detection, and character animation. | |||||
Prerequisites / Notice | Fundamentals of calculus and physics, basic concepts of algorithms and data structures, basic programming skills in C++. Knowledge on numerical mathematics as well as ordinary and partial differential equations is an asset, but not required. | |||||
261-5100-00L | Computational Biomedicine ![]() ![]() Number of participants limited to 60. | W | 5 credits | 2V + 1U + 1A | G. Rätsch, V. Boeva, N. Davidson | |
Abstract | The course critically reviews central problems in Biomedicine and discusses the technical foundations and solutions for these problems. | |||||
Objective | Over the past years, rapid technological advancements have transformed classical disciplines such as biology and medicine into fields of apllied data science. While the sheer amount of the collected data often makes computational approaches inevitable for analysis, it is the domain specific structure and close relation to research and clinic, that call for accurate, robust and efficient algorithms. In this course we will critically review central problems in Biomedicine and will discuss the technical foundations and solutions for these problems. | |||||
Content | The course will consist of three topic clusters that will cover different aspects of data science problems in Biomedicine: 1) String algorithms for the efficient representation, search, comparison, composition and compression of large sets of strings, mostly originating from DNA or RNA Sequencing. This includes genome assembly, efficient index data structures for strings and graphs, alignment techniques as well as quantitative approaches. 2) Statistical models and algorithms for the assessment and functional analysis of individual genomic variations. this includes the identification of variants, prediction of functional effects, imputation and integration problems as well as the association with clinical phenotypes. 3) Models for organization and representation of large scale biomedical data. This includes ontolgy concepts, biomedical databases, sequence annotation and data compression. | |||||
Prerequisites / Notice | Data Structures & Algorithms, Introduction to Machine Learning, Statistics/Probability, Programming in Python, Unix Command Line |
Page 1 of 2
All