Search result: Catalogue data in Autumn Semester 2018

Computational Science and Engineering Bachelor Information
Bachelor Studies (Programme Regulations 2018)
First Year Compulsory Courses
First Year Examination Block 1
NumberTitleTypeECTSHoursLecturers
401-0151-00LLinear Algebra Information O5 credits3V + 2UV. C. Gradinaru
AbstractContents: Linear systems - the Gaussian algorithm, matrices - LU decomposition, determinants, vector spaces, least squares - QR decomposition, linear maps, eigenvalue problem, normal forms - singular value decomposition; numerical aspects; introduction to MATLAB.
ObjectiveEinführung in die Lineare Algebra für Ingenieure unter Berücksichtigung numerischer Aspekte
Lecture notesK. Nipp / D. Stoffer, Lineare Algebra, vdf Hochschulverlag, 5. Auflage 2002
LiteratureK. Nipp / D. Stoffer, Lineare Algebra, vdf Hochschulverlag, 5. Auflage 2002
252-0025-00LDiscrete Mathematics Information O7 credits4V + 2UU. Maurer
AbstractContent: Mathematical reasoning and proofs, abstraction. Sets, relations (e.g. equivalence and order relations), functions, (un-)countability, number theory, algebra (groups, rings, fields, polynomials, subalgebras, morphisms), logic (propositional and predicate logic, proof calculi).
ObjectiveThe primary goals of this course are (1) to introduce the most important concepts of discrete mathematics, (2) to understand and appreciate the role of abstraction and mathematical proofs, and (3) to discuss a number of applications, e.g. in cryptography, coding theory, and algorithm theory.
ContentSee course description.
Lecture notesavailable (in english)
252-0856-00LComputer Science Information O4 credits2V + 2UF. O. Friedrich, M. Schwerhoff
AbstractDie Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt.
ObjectivePrimäres Lernziel der Vorlesung ist die Befähigung zum Programmieren mit C++. Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zum Erstellen eines Programms, sie kennen die fundamentalen Kontrollstrukturen, Datenstrukturen und verstehen, wie man ein algorithmisches Problem in ein Programm abbildet. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird.
Sekundäre Lernziele der Vorlesung sind das Computer-basierte, algorithmische Denken, Verständnis der Möglichkeiten und der Grenzen der Programmierung und die Vermittlung der Denkart eines Computerwissenschaftlers.
ContentWir behandeln fundamentale Datentypen, Ausdrücke und Anweisungen, (Grenzen der) Computerarithmetik, Kontrollanweisungen, Funktionen, Felder, zusammengesetze Strukturen und Zeiger. Im Teil zur Objektorientierung werden Klassen, Vererbung und Polymorhpie behandelt, es werden exemplarisch einfache dynamische Datentypen eingeführt.
Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert.
Lecture notesEin Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
LiteratureBjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010
Stephen Prata: C++ Primer Plus, Sixth Edition, Addison Wesley, 2012
Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000.
First Year Examination Block 2
NumberTitleTypeECTSHoursLecturers
401-0231-10LAnalysis 1
Studierende im BSc EEIT können alternativ auch 401-1261-07L Analysis I (für BSc Mathematik, BSc Physik und BSc IN (phys.-chem. Fachrichtung)) belegen und den zugehörigen Jahreskurs prüfen lassen. Studierende im BSc EEIT, welche 401-1261-07L/401-1262-07L Analysis I/II anstelle von 401-0231-10L/401-0232-10L Analysis 1/2 belegen möchten, wenden sich vor der Belegung an ihren Studiengang.
O8 credits4V + 3UA. Iozzi
AbstractCalculus of one variable: Real and complex numbers, vectors, limits, sequences, series, power series, continuous maps, differentiation and integration in one variable, introduction to ordinary differential equations
ObjectiveEinfuehrung in die Grundlagen der Analysis
Lecture notesChristian Blatter: Ingenieur-Analysis (Kapitel 1-3)
Skript der Vorlesung (A. Iozzi)
Konrad Koenigsberger, Analysis I.
402-0043-00LPhysics IO4 credits3V + 1UJ. Home
AbstractIntroduction to the concepts and tools in physics with the help of demonstration experiments: mechanics of point-like and ridged bodies, periodic motion and mechanical waves.
ObjectiveThe concepts and tools in physics, as well as the methods of an experimental science are taught. The student should learn to identify, communicate and solve physical problems in his/her own field of science.
ContentMechanics (motion, Newton's laws, work and energy, conservation of momentum, rotation, gravitation, fluids)
Periodic Motion and Waves (periodic motion, mechanical waves, acoustics).
Lecture notesThe lecture follows the book "Physics" by Paul A. Tipler.
LiteraturePaul A. Tipler and Gene P. Mosca, Physics (for Scientists and Engineers), W. H. Freeman and Company
Basic Courses
Block G1
NumberTitleTypeECTSHoursLecturers
401-0353-00LAnalysis III Information O4 credits2V + 2UA. Figalli
AbstractIn this lecture we treat problems in applied analysis. The focus lies on the solution of quasilinear first order PDEs with the method of characteristics, and on the study of three fundamental types of partial differential equations of second order: the Laplace equation, the heat equation, and the wave equation.
ObjectiveThe aim of this class is to provide students with a general overview of first and second order PDEs, and teach them how to solve some of these equations using characteristics and/or separation of variables.
Content1.) General introduction to PDEs and their classification (linear, quasilinear, semilinear, nonlinear / elliptic, parabolic, hyperbolic)

2.) Quasilinear first order PDEs
- Solution with the method of characteristics
- COnservation laws

3.) Hyperbolic PDEs
- wave equation
- d'Alembert formula in (1+1)-dimensions
- method of separation of variables

4.) Parabolic PDEs
- heat equation
- maximum principle
- method of separation of variables

5.) Elliptic PDEs
- Laplace equation
- maximum principle
- method of separation of variables
- variational method
LiteratureY. Pinchover, J. Rubinstein, "An Introduction to Partial Differential Equations", Cambridge University Press (12. Mai 2005)
Prerequisites / NoticePrerequisites: Analysis I and II, Fourier series (Complex Analysis)
401-0647-00LIntroduction to Mathematical OptimizationO5 credits2V + 1UD. Adjiashvili
AbstractIntroduction to basic techniques and problems in mathematical optimization, and their applications to a variety of problems in engineering.
ObjectiveThe goal of the course is to obtain a good understanding of some of the most fundamental mathematical optimization techniques used to solve linear programs and basic combinatorial optimization problems. The students will also practice applying the learned models to problems in engineering.
ContentTopics covered in this course include:
- Linear programming (simplex method, duality theory, shadow prices, ...).
- Basic combinatorial optimization problems (spanning trees, shortest paths, network flows, ...).
- Modelling with mathematical optimization: applications of mathematical programming in engineering.
LiteratureInformation about relevant literature will be given in the lecture.
Prerequisites / NoticeThis course is meant for students who did not already attend the course "Mathematical Optimization", which is a more advance lecture covering similar topics. Compared to "Mathematical Optimization", this course has a stronger focus on modeling and applications.
401-0663-00LNumerical Methods for CSE Information O8 credits4V + 2U + 1PR. Alaifari
AbstractThe course gives an introduction into fundamental techniques and algorithms of numerical mathematics which play a central role in numerical simulations in science and technology. The course focuses on fundamental ideas and algorithmic aspects of numerical methods. The exercises involve actual implementation of numerical methods in C++.
Objective* Knowledge of the fundamental algorithms in numerical mathematics
* Knowledge of the essential terms in numerical mathematics and the
techniques used for the analysis of numerical algorithms
* Ability to choose the appropriate numerical method for concrete problems
* Ability to interpret numerical results
* Ability to implement numerical algorithms afficiently
Content1. Direct Methods for linear systems of equations
2. Least Squares Techniques
3. Data Interpolation and Fitting
4. Filtering Algorithms
8. Approximation of Functions
9. Numerical Quadrature
10. Iterative Methods for non-linear systems of equations
11. Single Step Methods for ODEs
12. Stiff Integrators
Lecture notesLecture materials (PDF documents and codes) will be made available to the participants through the course web page:
https://metaphor.ethz.ch/x/2018/hs/401-0663-00L/
LiteratureU. ASCHER AND C. GREIF, A First Course in Numerical Methods, SIAM, Philadelphia, 2011.

A. QUARTERONI, R. SACCO, AND F. SALERI, Numerical mathematics, vol. 37 of Texts in Applied Mathematics, Springer, New York, 2000.

W. Dahmen, A. Reusken "Numerik für Ingenieure und Naturwissenschaftler", Springer 2006.

M. Hanke-Bourgeois "Grundlagen der Numerischen Mathematik und des wissenschaftlichen Rechnens", BG Teubner, 2002

P. Deuflhard and A. Hohmann, "Numerische Mathematik I", DeGruyter, 2002
Prerequisites / NoticeThe course will be accompanied by programming exercises in C++ relying on the template library EIGEN. Familiarity with C++, object oriented and generic programming is an advantage. Participants of the course are expected to learn C++ by themselves.
Block G2
NumberTitleTypeECTSHoursLecturers
401-0603-00LStochastics (Probability and Statistics) Information O4 credits2V + 1UM. H. Maathuis
AbstractThis class covers the following concepts: random variables, probability, discrete and continuous distributions, joint and conditional probabilities and distributions, the law of large numbers, the central limit theorem, descriptive statistics, statistical inference, inference for normally distributed data, point estimation, and two-sample tests.
ObjectiveKnowledge of the basic principles of probability and statistics.
ContentIntroduction to probability theory, some basic principles from mathematical statistics and basic methods for applied statistics.
Lecture notesLecture notes
LiteratureLecture notes
402-0811-00LProgramming Techniques for Scientific Simulations IO5 credits4GR. Käppeli
AbstractThis lecture provides an overview of programming techniques for scientific simulations. The focus is on advances C++ programming techniques and scientific software libraries. Based on an overview over the hardware components of PCs and supercomputer, optimization methods for scientific simulation codes are explained.
Objective
252-0061-00LSystems Programming and Computer Architecture Information O7 credits4V + 2UT. Roscoe
AbstractIntroduction to systems programming. C and assembly language,
floating point arithmetic, basic translation of C into assembler,
compiler optimizations, manual optimizations. How hardware features
like superscalar architecture, exceptions and interrupts, caches,
virtual memory, multicore processors, devices, and memory systems
function and affect correctness, performance, and optimization.
ObjectiveThe course objectives are for students to:

1. Develop a deep understanding of, and intuition about, the execution
of all the layers (compiler, runtime, OS, etc.) between programs in
high-level languages and the underlying hardware: the impact of
compiler decisions, the role of the operating system, the effects
of hardware on code performance and scalability, etc.

2. Be able to write correct, efficient programs on modern hardware,
not only in C but high-level languages as well.

3. Understand Systems Programming as a complement to other disciplines
within Computer Science and other forms of software development.

This course does not cover how to design or build a processor or
computer.
ContentThis course provides an overview of "computers" as a
platform for the execution of (compiled) computer programs. This
course provides a programmer's view of how computer systems execute
programs, store information, and communicate. The course introduces
the major computer architecture structures that have direct influence
on the execution of programs (processors with registers, caches, other
levels of the memory hierarchy, supervisor/kernel mode, and I/O
structures) and covers implementation and representation issues only
to the extend that they are necessary to understand the structure and
operation of a computer system.

The course attempts to expose students to the practical issues that
affect performance, portability, security, robustness, and
extensibility. This course provides a foundation for subsequent
courses on operating systems, networks, compilers and many other
courses that require an understanding of the system-level
issues. Topics covered include: machine-level code and its generation
by optimizing compilers, address translation, input and output,
trap/event handlers, performance evaluation and optimization (with a
focus on the practical aspects of data collection and analysis).
Lecture notes- C programmnig
- Integers
- Pointers and dynamic memory allocation
- Basic computer architecture
- Compiling C control flow and data structures
- Code vulnerabilities
- Implementing memory allocation
- Linking
- Floating point
- Optimizing compilers
- Architecture and optimization
- Caches
- Exceptions
- Virtual memory
- Multicore
- Devices
LiteratureThe course is based in part on "Computer Systems: A Programmer's Perspective" (3rd Edition) by R. Bryant and D. O'Hallaron, with additional material.
Prerequisites / Notice252-0029-00L Parallel Programming
252-0028-00L Design of Digital Circuits
Block G3
All course units within Block G3 are offered in the spring semester.
Block G4
All course units within Block G4 are offered in the spring semester.
Core Courses from Group I (Modules)
offered as of HS 2019
Core Courses from Group II
offered as of HS 2019
Bachelor's Thesis
If you wish to have recognised 402-2000-00L Scientific Works in Physics instead of 401-2000-00L Scientific Works in Mathematics (as allowed for the CSE programme), take contact with the Study Administration Office (www.math.ethz.ch/studiensekretariat) after having passed the performance assessment.
NumberTitleTypeECTSHoursLecturers
401-2000-00LScientific Works in Mathematics
Target audience:
Third year Bachelor students;
Master students who cannot document to have received an adequate training in working scientifically.
O0 creditsE. Kowalski
AbstractIntroduction to scientific writing for students with focus on publication standards and ethical issues, especially in the case of citations (references to works of others.)
ObjectiveLearn the basic standards of scientific works in mathematics.
Content- Types of mathematical works
- Publication standards in pure and applied mathematics
- Data handling
- Ethical issues
- Citation guidelines
Lecture notesMoodle of the Mathematics Library: https://moodle-app2.let.ethz.ch/course/view.php?id=519
Prerequisites / NoticeDirective Link
401-2000-01LTraining Course "Search for Documents in Mathematics" [under revision]
Details and registration for the optional MathBib training course: https://www.math.ethz.ch/mathbib-schulungen
Z0 creditsSpeakers
AbstractOptional course "Recherchieren in der Mathematik" (held in German) by the Mathematics Library.
Objective
402-2000-00LScientific Works in Physics
Target audience:
Master students who cannot document to have received an adequate training in working scientifically.

Directive Link
W0 creditsC. Grab
AbstractLiterature Review: ETH-Library, Journals in Physics, Google Scholar; Thesis Structure: The IMRAD Model; Document Processing: LaTeX and BibTeX, Mathematical Writing, AVETH Survival Guide; ETH Guidelines for Integrity; Authorship Guidelines; ETH Citation Etiquettes; Declaration of Originality.
ObjectiveBasic standards for scientific works in physics: How to write a Master Thesis. What to know about research integrity.
401-3990-18LBachelor's Thesis Restricted registration - show details
Only for Computational Science and Engineering BSc, Programme Regulations 2018.

Successful participation in the course unit 401-2000-00L Scientific Works in Mathematics or 402-2000-00L Scientific Works in Physicsis is required.
For more information, see www.math.ethz.ch/intranet/students/study-administration/theses.html
O14 credits30DSupervisors
AbstractThe BSc thesis concludes the curriculum. In their BSc thesis, students should demonstrate their ability to carry out independent, structured scientific work. The purpose of the BSc thesis is to deepen knowledge in a certain subject and to bring students into closer contact with applications in an existing computational group. The BSc thesis requires approximately 160 hours of work.
ObjectiveIn their Bsc thesis students should demonstrate their ability to carry out independent, structured scientific work. The purpose is to deepen knowledge in a certain subject and to enable students to collaborate in an existing scientific group to take a computational approach to problems encountered in applications.
Prerequisites / NoticeThe supervisor responsible for the Bachelor thesis defines the task and determines the start and the submission date. The Bachelor thesis concludes with a written report. The Bachelor thesis is graded.
Bachelor Studies (Programme Regulations 2012 and 2016)
Basic Courses
Block G1
NumberTitleTypeECTSHoursLecturers
401-0353-00LAnalysis III Information O4 credits2V + 2UA. Figalli
AbstractIn this lecture we treat problems in applied analysis. The focus lies on the solution of quasilinear first order PDEs with the method of characteristics, and on the study of three fundamental types of partial differential equations of second order: the Laplace equation, the heat equation, and the wave equation.
ObjectiveThe aim of this class is to provide students with a general overview of first and second order PDEs, and teach them how to solve some of these equations using characteristics and/or separation of variables.
Content1.) General introduction to PDEs and their classification (linear, quasilinear, semilinear, nonlinear / elliptic, parabolic, hyperbolic)

2.) Quasilinear first order PDEs
- Solution with the method of characteristics
- COnservation laws

3.) Hyperbolic PDEs
- wave equation
- d'Alembert formula in (1+1)-dimensions
- method of separation of variables

4.) Parabolic PDEs
- heat equation
- maximum principle
- method of separation of variables

5.) Elliptic PDEs
- Laplace equation
- maximum principle
- method of separation of variables
- variational method
LiteratureY. Pinchover, J. Rubinstein, "An Introduction to Partial Differential Equations", Cambridge University Press (12. Mai 2005)
Prerequisites / NoticePrerequisites: Analysis I and II, Fourier series (Complex Analysis)
402-0811-00LProgramming Techniques for Scientific Simulations IO5 credits4GR. Käppeli
AbstractThis lecture provides an overview of programming techniques for scientific simulations. The focus is on advances C++ programming techniques and scientific software libraries. Based on an overview over the hardware components of PCs and supercomputer, optimization methods for scientific simulation codes are explained.
Objective
401-0663-00LNumerical Methods for CSE Information O8 credits4V + 2U + 1PR. Alaifari
AbstractThe course gives an introduction into fundamental techniques and algorithms of numerical mathematics which play a central role in numerical simulations in science and technology. The course focuses on fundamental ideas and algorithmic aspects of numerical methods. The exercises involve actual implementation of numerical methods in C++.
Objective* Knowledge of the fundamental algorithms in numerical mathematics
* Knowledge of the essential terms in numerical mathematics and the
techniques used for the analysis of numerical algorithms
* Ability to choose the appropriate numerical method for concrete problems
* Ability to interpret numerical results
* Ability to implement numerical algorithms afficiently
Content1. Direct Methods for linear systems of equations
2. Least Squares Techniques
3. Data Interpolation and Fitting
4. Filtering Algorithms
8. Approximation of Functions
9. Numerical Quadrature
10. Iterative Methods for non-linear systems of equations
11. Single Step Methods for ODEs
12. Stiff Integrators
Lecture notesLecture materials (PDF documents and codes) will be made available to the participants through the course web page:
https://metaphor.ethz.ch/x/2018/hs/401-0663-00L/
LiteratureU. ASCHER AND C. GREIF, A First Course in Numerical Methods, SIAM, Philadelphia, 2011.

A. QUARTERONI, R. SACCO, AND F. SALERI, Numerical mathematics, vol. 37 of Texts in Applied Mathematics, Springer, New York, 2000.

W. Dahmen, A. Reusken "Numerik für Ingenieure und Naturwissenschaftler", Springer 2006.

M. Hanke-Bourgeois "Grundlagen der Numerischen Mathematik und des wissenschaftlichen Rechnens", BG Teubner, 2002

P. Deuflhard and A. Hohmann, "Numerische Mathematik I", DeGruyter, 2002
Prerequisites / NoticeThe course will be accompanied by programming exercises in C++ relying on the template library EIGEN. Familiarity with C++, object oriented and generic programming is an advantage. Participants of the course are expected to learn C++ by themselves.
Block G2
NumberTitleTypeECTSHoursLecturers
401-0603-00LStochastics (Probability and Statistics) Information O4 credits2V + 1UM. H. Maathuis
AbstractThis class covers the following concepts: random variables, probability, discrete and continuous distributions, joint and conditional probabilities and distributions, the law of large numbers, the central limit theorem, descriptive statistics, statistical inference, inference for normally distributed data, point estimation, and two-sample tests.
ObjectiveKnowledge of the basic principles of probability and statistics.
ContentIntroduction to probability theory, some basic principles from mathematical statistics and basic methods for applied statistics.
Lecture notesLecture notes
LiteratureLecture notes
252-0834-00LInformation Systems for Engineers Information O4 credits2V + 1UG. Fourny
AbstractThis course provides the basics of relational databases from the perspective of the user.

We will discover why tables are so incredibly powerful to express relations, learn the SQL query language, and how to make the most of it. The course also covers support for data cubes (analytics).

After this course, you will be ready for Big Data for Engineers.
ObjectiveAfter visiting this course, you will be capable to:

1. Explain, in the big picture, how a relational database works and what it can do in your own words.

2. Explain the relational data model (tables, rows, attributes, primary keys, foreign keys), formally and informally, including the relational algebra operators (select, project, rename, all kinds of joins, division, cartesian product, union, intersection, etc).

3. Perform non-trivial reading SQL queries on existing relational databases, as well as insert new data, update and delete existing data.

4. Design new schemas to store data in accordance to the real world's constraints, such as relationship cardinality

5. Explain what bad design is and why it matters.

6. Adapt and improve an existing schema to make it more robust against anomalies, thanks to a very good theoretical knowledge of what is called "normal forms".

7. Understand how indices work (hash indices, B-trees), how they are implemented, and how to use them to make queries faster.

8. Access an existing relational database from a host language such as Java, using bridges such as JDBC.

9. Explain what data independence is all about and didn't age a bit since the 1970s.

10. Explain, in the big picture, how a relational database is physically implemented.

11. Know and deal with the natural syntax for relational data, CSV.

12. Explain the data cube model including slicing and dicing.

13. Store data cubes in a relational database.

14. Map cube queries to SQL.

15. Slice and dice cubes in a UI.

And of course, you will think that tables are the most wonderful object in the world.
ContentUsing a relational database
=================
1. Introduction
2. The relational model
3. Data definition with SQL
4. The relational algebra
5. Queries with SQL

Taking a relational database to the next level
=================
6. Database design theory
7. Databases and host languages
8. Databases and host languages
9. Indices and optimization
10. Database architecture and storage

Analytics on top of a relational database
=================
12. Data cubes

Outlook
=================
13. Outlook
Literature- Lecture material (slides).

- Book: "Database Systems: The Complete Book", H. Garcia-Molina, J.D. Ullman, J. Widom
(It is not required to buy the book, as the library has it)
Prerequisites / NoticeFor non-CS/DS students only, BSc and MSc
Elementary knowledge of set theory and logics
Knowledge as well as basic experience with a programming language such as Pascal, C, C++, Java, Haskell, Python
  •  Page  1  of  5 Next page Last page     All