Search result: Catalogue data in Spring Semester 2019
Computational Science and Engineering Bachelor ![]() | ||||||
![]() | ||||||
![]() ![]() | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
151-0116-00L | High Performance Computing for Science and Engineering (HPCSE) for CSE ![]() | O | 7 credits | 4G + 2P | P. Koumoutsakos, S. M. Martin | |
Abstract | This course focuses on programming methods and tools for parallel computing on multi and many-core architectures. Emphasis will be placed on practical and computational aspects of Bayesian Uncertainty Quantification and Machine Learning including the implementation of these algorithms on HPC architectures. | |||||
Learning objective | The course will teach - programming models and tools for multi and many-core architectures - fundamental concepts of Uncertainty Quantification and Propagation (UQ+P) for computational models of systems in Engineering and Life Sciences. - fundamentals of Deep Learning | |||||
Content | High Performance Computing: - Advanced topics in shared-memory programming - Advanced topics in MPI - GPU architectures and CUDA programming Uncertainty Quantification: - Uncertainty quantification under parametric and non-parametric modeling uncertainty - Bayesian inference with model class assessment - Markov Chain Monte Carlo simulation Machine Learning - Deep Neural Networks and Stochastic Gradient Descent - Deep Neural Networks for Data Compression (Autoencoders) - Recurrent Neural Networks | |||||
Lecture notes | http://www.cse-lab.ethz.ch/teaching/hpcse-ii_fs19/ 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 - Machine Learning: A Bayesian and Optimization Perspective, S. Theodorides | |||||
Prerequisites / Notice | Attendance of HPCSE I | |||||
252-0232-00L | Software Design ![]() | O | 6 credits | 2V + 1U | D. Gruntz | |
Abstract | The course Software Design presents and discusses design patterns regularly used to solve problems in object oriented design and object oriented programming. The presented patterns are illustrated with examples from the Java libraries and are applied in a project. | |||||
Learning objective | The students - know the principles of object oriented programming and can apply these. - know the most important object oriented design patterns. - can apply design patterns to solve design problems. - discover in a given design the use of design patterns. | |||||
Content | This course makes an introduction to object oriented programming. As programming language Java is used. The focus of this course however is object oriented design, in particular design patterns. Design patterns are solutions to recurring design problems. The discussed patterns are illustrated with examples from the Java libraries and are applied in the context of a project. | |||||
Lecture notes | no script | |||||
Literature | - Gamma, Helm, Johnson, Vlissides; Design Patterns: Elements of Reusable Object-Oriented Software; Prentice Hall;ISBN 978-0201633610 - Freeman, Freeman, Sierra; Head First Design Patterns, Head First Design Patterns; O'Reilly; ISBN 978-0596007126 | |||||
Prerequisites / Notice | The course Software Design is designed for students in the computational sciences program, but is open to students of all programs. The precondition is, that participants have knowledge in structured programming (e.g. with C, C++, C# or Java). |
Page 1 of 1