The spring semester 2021 will generally take place online. New presence elements as of April 26 will be communicated by the lecturers.

Search result: Catalogue data in Autumn Semester 2018

Computer Science Bachelor Information
First Year Examinations
First Year Examination Block 1
NumberTitleTypeECTSHoursLecturers
401-0131-00LLinear AlgebraO7 credits4V + 2UÖ. Imamoglu, O. Sorkine Hornung
AbstractIntroduction to linear algebra (vector spaces, linear transformations, matrices) , matrix decompositions (LU, QR, eigenvalue and singular value decomposition).
ObjectiveDie Lernziele sind:
- die fundamentalen Konzepte der linearen Algebra gut zu verstehen und anwenden zu können
- Anwendungen der linearen Algebra kennenzulernen
ContentLinear Algebra:
Linear systems of equations, vectors and matrices, norms and scalar products, LU decomposition, vector spaces and linear transformations, least squares problems, QR decomposition, determinants, eigenvalues and eigenvectors, singular value decomposition, applications.
Lecture notesLecture notes "Linear Algebra" (by Gutknecht) in German, with English expressions for all technical terms.
Prerequisites / NoticeThe relevant high school material is reviewed briefly at the beginning.
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-0027-00LIntroduction to Programming Information O7 credits4V + 2UT. Gross
AbstractIntroduction to fundamental concepts of modern programming and operational skills for developing high-quality programs, including large programs as in industry. The course introduces software engineering principles with an object-oriented approach based.
ObjectiveMany people can write programs. The "Introduction to Programming" course goes beyond that basic goal: it teaches the fundamental concepts and skills necessary to perform programming at a professional level. As a result of successfully completing the course, students master the fundamental control structures, data structures, reasoning patterns and programming language mechanisms characterizing modern programming, as well as the fundamental rules of producing high-quality software. They have the necessary programming background for later courses introducing programming skills in specialized application areas.
ContentBasics of object-oriented programming. Objects and classes. Pre- and postconditions, class invariants, Design by Contract. Fundamental control structures. Assignment and References. Basic hardware concepts. Fundamental data structures and algorithms. Recursion. Inheritance and interfaces, introduction to event-driven design and concurrent programming. Basic concepts of Software Engineering such as the software process, specification and documentation, reuse and quality assurance.
Lecture notesThe lecture slides are available for download on the course page.
LiteratureSee the course page for up-to-date information.
Prerequisites / NoticeThere are no special prerequisites. Students are expected to enroll in the other courses offered to first-year students of computer science.
252-0026-00LAlgorithms and Data Structures Information O7 credits3V + 2U + 1AM. Püschel, D. Steurer
AbstractThis course is about fundamental algorithm design paradigms, classic algorithmic problems, and data structures. The connection between algorithms and data structures is explained for geometric and graph problems. For this purpose, fundamental graph theoretic concepts are introduced.
ObjectiveAn understanding of the design and analysis of fundamental algorithms and data structures.
ContentEs werden grundlegende Algorithmen und Datenstrukturen vorgestellt und analysiert. Dazu gehören auf der einen Seite Entwurfsmuster für Algorithmen, wie Induktion, divide-and-conquer, backtracking und dynamische Optimierung, ebenso wie klassische algorithmische Probleme, wie Suchen und Sortieren. Auf der anderen Seite werden Datenstrukturen für verschiedene Zwecke behandelt, darunter verkettete Listen, Hashtabellen, balancierte Suchbäume, verschiedene heaps und union-find-Strukturen. Weiterhin wird Adaptivität bei Datenstrukturen (wie etwa Splay-Bäume) und bei Algorithmen (wie etwa online-Algorithmen) beleuchtet. Das Zusammenspiel von Algorithmen und Datenstrukturen wird anhand von Geometrie- und Graphenproblemen illustriert. Hierfür werden grundlegende Konzepte der Graphentheorie eingeführt.
LiteratureTh. Ottmann, P.Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011
First Year Examination Block 2
Offered in the spring semester.
Basic Courses
NumberTitleTypeECTSHoursLecturers
252-0057-00LTheoretical Computer Science Information O7 credits4V + 2UJ. Hromkovic, H.‑J. Böckenhauer
AbstractConcepts to cope with: a) what can be accomplished in a fully automated fashion (algorithmically solvable) b) How to measure the inherent difficulty of tasks (problems) c) What is randomness and how can it be useful? d) What is nondeterminism and what role does it play in CS? e) How to represent infinite objects by finite automata and grammars?
ObjectiveLearning the basic concepts of computer science along their historical development
ContentThis lecture gives an introduction to theoretical computer science, presenting the basic concepts and methods of computer science in its historical context. We present computer science as an interdisciplinary science which, on the one hand, investigates the border between the possible and the impossible and the quantitative laws of information processing, and, on the other hand, designs, analyzes, verifies, and implements computer systems.

The main topics of the lecture are:

- alphabets, words, languages, measuring the information content of words, representation of algorithmic tasks
- finite automata, regular and context-free grammars
- Turing machines and computability
- complexity theory and NP-completeness
- design of algorithms for hard problems
Lecture notesThe lecture is covered in detail by the textbook "Theoretical Computer Science".
LiteratureBasic literature:

1. J. Hromkovic: Theoretische Informatik. 5th edition, Springer Vieweg 2014.

2. J. Hromkovic: Theoretical Computer Science. Springer 2004.

Further reading:

3. M. Sipser: Introduction to the Theory of Computation, PWS Publ. Comp.1997
4. J.E. Hopcroft, R. Motwani, J.D. Ullman: Introduction to Automata Theory, Languages, and Computation (3rd Edition), Addison-Wesley 2006.
5. I. Wegener: Theoretische Informatik. Teubner.

More exercises and examples in:

6. A. Asteroth, Ch. Baier: Theoretische Informatik
Prerequisites / NoticeDuring the semester, two non-obligatory test exams will be offered.
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
401-0213-16LAnalysis II Information O5 credits2V + 2UE. Kowalski
AbstractDifferential and Integral calculus in many variables, vector analysis.
ObjectiveDifferential and Integral calculus in many variables, vector analysis.
ContentDifferential and Integral calculus in many variables, vector analysis.
LiteratureFür allgemeine Informationen, sehen Sie bitte die Webseite der Vorlesung: https://metaphor.ethz.ch/x/2017/hs/401-0213-16L/
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.
Core Courses
Major: Information and Data Processing
NumberTitleTypeECTSHoursLecturers
252-0206-00LVisual Computing Information O8 credits4V + 3UM. Pollefeys, S. Coros
AbstractThis 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.
ObjectiveThis 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.
ContentCourse 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 notesA scriptum will be handed out for a part of the course. Copies of the slides will be available for download. We will also provide a detailed list of references and textbooks.
LiteratureMarkus Gross: Computer Graphics, scriptum, 1994-2005
Major: Theoretical Computer Science
NumberTitleTypeECTSHoursLecturers
252-0209-00LAlgorithms, Probability, and Computing Information O8 credits4V + 2U + 1AE. Welzl, M. Ghaffari, A. Steger, D. Steurer, P. Widmayer
AbstractAdvanced design and analysis methods for algorithms and data structures: Random(ized) Search Trees, Point Location, Minimum Cut, Linear Programming, Randomized Algebraic Algorithms (matchings), Probabilistically Checkable Proofs (introduction).
ObjectiveStudying and understanding of fundamental advanced concepts in algorithms, data structures and complexity theory.
Lecture notesWill be handed out.
LiteratureIntroduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest;
Randomized Algorithms by R. Motwani und P. Raghavan;
Computational Geometry - Algorithms and Applications by M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf.
Major: Systems and Software Engineering
NumberTitleTypeECTSHoursLecturers
252-0217-00LComputer Systems Information O8 credits4V + 2U + 1AT. Roscoe, R. Wattenhofer
AbstractThis course is about real computer systems, and the principles on which they are designed and built. We cover both modern OSes and the large-scale distributed systems that power today's online services. We illustrate the ideas with real-world examples, but emphasize common theoretical results, practical tradeoffs, and design principles that apply across many different scales and technologies.
ObjectiveThe objective of the course is for students to understand the theoretical principles, practical considerations, performance tradeoffs, and engineering techniques on which the software underpinning almost all modern computer systems is based, ranging from single embedded systems-on-chip in mobile phones to large-scale geo-replicated groups of datacenters.

By the end of the course, students should be able to reason about highly complex, real, operational software systems, applying concepts such as hierarchy, modularity, consistency, durability, availability, fault-tolerance, and replication.
ContentThis course subsumes the topics of both "operating systems" and "distributed systems" into a single coherent picture (reflecting the reality that these disciplines are highly converged). The focus is system software: the foundations of modern computer systems from mobile phones to the large-scale geo-replicated data centers on which Internet companies like Amazon, Facebook, Google, and Microsoft are based.

We will cover a range of topics, such as: scheduling, network protocol stacks, multiplexing and demultiplexing, operating system structure, inter-process communication, memory managment, file systems, naming, dataflow, data storage, persistence, and durability, computer systems performance, remove procedure call, consensus and agreement, fault tolerance, physical and logical clocks, virtualization, and blockchains.

The format of the course is a set of about 25 topics, each covered in a lecture. A script will be published online ahead of each lecture, and the latter will consist of an interactive elaboration of the material in the script. There is no book for the course, but we will refer to books and research papers throughout to provide additional background and explanation.
Prerequisites / NoticeWe will assume knowlege of the "Systems Programming" and "Computer Networks" courses (or equivalent), and their prerequisites, and build upon them.
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
151-0107-20LHigh Performance Computing for Science and Engineering (HPCSE) IW4 credits4GP. Koumoutsakos
AbstractThis course gives an introduction into algorithms and numerical methods for parallel computing for multi and many-core architectures and for applications from problems in science and engineering.
ObjectiveIntroduction to HPC for scientists and engineers
Fundamental of:
1. Parallel Computing Architectures
2. MultiCores
3. ManyCores
ContentParallel Programming models and languages (OpenMP, MPI). Parallel Performance metrics and Code Optimization. Examples based on grid and particle methods for solving Partial Differential Equations and on fundamentals of stochastic optimisation and machine learning.
Lecture noteshttp://www.cse-lab.ethz.ch/teaching/hpcse-i_hs18/
Class notes, handouts
252-3110-00LHuman Computer Interaction Information Restricted registration - show details
Number of participants limited to 150.
W4 credits2V + 1UO. Hilliges
AbstractThe course provides an introduction to the field of human-computer interaction, emphasising the central role of the user in system design. Through detailed case studies, students will be introduced to different methods used to analyse the user experience and shown how these can inform the design of new interfaces, systems and technologies.
ObjectiveThe goal of the course is that students should understand the principles of user-centred design and be able to apply these in practice.
ContentThe course will introduce students to various methods of analysing the user experience, showing how these can be used at different stages of system development from requirements analysis through to usability testing. Students will get experience of designing and carrying out user studies as well as analysing results. The course will also cover the basic principles of interaction design. Practical exercises related to touch and gesture-based interaction will be used to reinforce the concepts introduced in the lecture. To get students to further think beyond traditional system design, we will discuss issues related to ambient information and awareness.
227-0627-00LApplied Computer ArchitectureW6 credits4GA. Gunzinger
AbstractThis lecture gives an overview of the requirements and the architecture of parallel computer systems, performance, reliability and costs.
ObjectiveUnderstand the function, the design and the performance modeling of parallel computer systems.
ContentThe lecture "Applied Computer Architecture" gives technical and corporate insights in the innovative Computer Systems/Architectures (CPU, GPU, FPGA, special 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 notesScript and exercices sheets.
Prerequisites / NoticePrerequisites:
Basics of computer architecture.
227-1037-00LIntroduction to Neuroinformatics Information W6 credits2V + 1UV. Mante, M. Cook, B. Grewe, G. Indiveri, D. Kiper, W. von der Behrens
AbstractThe course provides an introduction to the functional properties of neurons. Particularly the description of membrane electrical properties (action potentials, channels), neuronal anatomy, synaptic structures, and neuronal networks. Simple models of computation, learning, and behavior will be explained. Some artificial systems (robot, chip) are presented.
ObjectiveUnderstanding computation by neurons and neuronal circuits is one of the great challenges of science. Many different disciplines can contribute their tools and concepts to solving mysteries of neural computation. The goal of this introductory course is to introduce the monocultures of physics, maths, computer science, engineering, biology, psychology, and even philosophy and history, to discover the enchantments and challenges that we all face in taking on this major 21st century problem and how each discipline can contribute to discovering solutions.
ContentThis course considers the structure and function of biological neural networks at different levels. The function of neural networks lies fundamentally in their wiring and in the electro-chemical properties of nerve cell membranes. Thus, the biological structure of the nerve cell needs to be understood if biologically-realistic models are to be constructed. These simpler models are used to estimate the electrical current flow through dendritic cables and explore how a more complex geometry of neurons influences this current flow. The active properties of nerves are studied to understand both sensory transduction and the generation and transmission of nerve impulses along axons. The concept of local neuronal circuits arises in the context of the rules governing the formation of nerve connections and topographic projections within the nervous system. Communication between neurons in the network can be thought of as information flow across synapses, which can be modified by experience. We need an understanding of the action of inhibitory and excitatory neurotransmitters and neuromodulators, so that the dynamics and logic of synapses can be interpreted. Finally, the neural architectures of feedforward and recurrent networks will be discussed in the context of co-ordination, control, and integration of sensory and motor information in neural networks.
Seminar
Students may also choose seminars from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these seminars.
NumberTitleTypeECTSHoursLecturers
252-2600-05LSoftware Engineering Seminar Information Restricted registration - show details
Number of participants limited to 22.

The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 credits2SM. Vechev, D. Drachsler Cohen
AbstractThe course is an introduction to research in software engineering, based on reading and presenting high quality research papers in the field. The instructor may choose a variety of topics or one topic that is explored through several papers.
ObjectiveThe main goals of this seminar are 1) learning how to read and understand a recent research paper in computer science; and 2) learning how to present a technical topic in computer science to an audience of peers.
ContentThe technical content of this course falls into the general area of software engineering but will vary from semester to semester.
252-3300-00LSeminar on Computer Architecture Information Restricted registration - show details
The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 credits2SO. Mutlu
AbstractIn this seminar course, we will cover fundamental and cutting-edge research papers in computer architecture. The course will consist of multiple components that are aimed at improving students' technical skills in computer architecture, critical thinking and analysis on computer architecture concepts, as well as technical presentation of concepts and papers in both spoken and written forms.
ObjectiveThe main objective is to learn how to rigorously analyze and present papers and ideas computer architecture. We will have rigorous presentation and discussion of selected papers during lectures and a written report delivered by each student at the end of the semester.

This course is for those interested in computer architecture. Registered students are expected to attend every lecture and participate in the discussion.
ContentTopics will center around computer architecture. We will, for example, discuss papers on hardware security; architectural acceleration mechanisms for key applications like machine learning, graph processing and bioinformatics; memory systems; interconnects; processing inside memory; various fundamental and emerging paradigms in computer architecture; hardware/software co-design and cooperation; fault tolerance; energy efficiency; heterogeneous and parallel systems; new execution models, etc.
Lecture notesAll required materials will be posted on the course website, location to be determined.
LiteratureKey papers and articles, on both fundamentals and cutting-edge topics in computer architecture will be provided and discussed. These will be posted on the course website.
Prerequisites / NoticeDesign of Digital Circuits.
Students should have done very well in Design of Digital Circuits and show a genuine interest in Computer Architecture.
252-4230-00LAdvanced Algorithms and Data Structures Information Restricted registration - show details
Number of participants limited to 24.

As a prerequisite, students must have more than just basic knowledge on algorithms and data structures.
If you have enjoyed the class "Algorithms, Probability and Computing", this seminar is just right for you!

The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.

Takes place for the last time!
W2 credits2SP. Widmayer, S. Leucci, P. Uznanski
AbstractWe will look into modern approaches of algorithms and data structures. A few breakthrough and highly influential papers from the general area of algorithms, from the past 20 years will be selected for students to study.
ObjectiveDevelop an understanding of modern techniques and paradigms in the design of algorithms and data structures.
ContentTopics include (but are not exhausted by):

-graph algorithms,
-text algorithms,
-approximation algorithms,
-algebra in algorithms,
-streaming algorithms,
-conditional lower bounds,
-sparsification,
-randomness in algorithms,
-sampling.
Prerequisites / NoticeAlgorithms and Data Structures, or equivalent.
Minor Courses
3. Semester
NumberTitleTypeECTSHoursLecturers
151-3217-00LCoaching Students (Basic Training)W1 credit1GR. P. Haas, 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, i.e. 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 actively coaching students.
227-0945-00LCell and Molecular Biology for Engineers I
This course is part I of a two-semester course.
W3 credits2GC. Frei
AbstractThe course gives an introduction into cellular and molecular biology, specifically for students with a background in engineering. The focus will be on the basic organization of eukaryotic cells, molecular mechanisms and cellular functions. Textbook knowledge will be combined with results from recent research and technological innovations in biology.
ObjectiveAfter completing this course, engineering students will be able to apply their previous training in the quantitative and physical sciences to modern biology. Students will also learn the principles how biological models are established, and how these models can be tested.
ContentLectures will include the following topics (part I and II): DNA, chromosomes, RNA, protein, genetics, gene expression, membrane structure and function, vesicular traffic, cellular communication, energy conversion, cytoskeleton, cell cycle, cellular growth, apoptosis, autophagy, cancer, development and stem cells.

In addition, 4 journal clubs will be held, where recent publications will be discussed (2 journal clubs in part I and 2 journal clubs in part II). For each journal club, students (alone or in groups of up to three students) have to write a summary and discussion of the publication. These written documents will be graded and count as 40% for the final grade.
Lecture notesScripts of all lectures will be available.
Literature"Molecular Biology of the Cell" (6th edition) by Alberts, Johnson, Lewis, Raff, Roberts, and Walter.
351-0778-00LDiscovering Management
Entry level course in management for BSc, MSc and PHD students at all levels not belonging to D-MTEC. This course can be complemented with Discovering Management (Excercises) 351-0778-01.
W3 credits3GB. Clarysse, M. Ambühl, S. Brusoni, E. Fleisch, G. Grote, V. Hoffmann, T. Netland, G. von Krogh, F. von Wangenheim
AbstractDiscovering Management offers an introduction to the field of business management and entrepreneurship for engineers and natural scientists. The module provides an overview of the principles of management, teaches knowledge about management that is highly complementary to the students' technical knowledge, and provides a basis for advancing the knowledge of the various subjects offered at D-MTEC.
ObjectiveDiscovering Management combines in an innovate format a set of lectures and an advanced business game. The learning model for Discovering Management involves 'learning by doing'. The objective is to introduce the students to the relevant topics of the management literature and give them a good introduction in entrepreneurship topics too. The course is a series of lectures on the topics of strategy, innovation, corporate finance, leadership, design thinking and corporate social responsibility. While the 14 different lectures provide the theoretical and conceptual foundations, the experiential learning outcomes result from the interactive business game. The purpose of the business game is to analyse the innovative needs of a large multinational company and develop a business case for the company to grow. This business case is as relevant to someone exploring innovation within an organisation as it is if you are planning to start your own business. By discovering the key aspects of entrepreneurial management, the purpose of the course is to advance students' understanding of factors driving innovation, entrepreneurship, and company success.
ContentDiscovering Management aims to broaden the students' understanding of the principles of business management, emphasizing the interdependence of various topics in the development and management of a firm. The lectures introduce students not only to topics relevant for managing large corporations, but also touch upon the different aspects of starting up your own venture. The lectures will be presented by the respective area specialists at D-MTEC.
The course broadens the view and understanding of technology by linking it with its commercial applications and with society. The lectures are designed to introduce students to topics related to strategy, corporate innovation, leadership, corporate and entrepreneurial finance, value chain analysis, corporate social responsibility, and business model innovation. Practical examples from industry experts will stimulate the students to critically assess these issues. Creative skills will be trained by the business game exercise, a participant-centered learning activity, which provides students with the opportunity to place themselves in the role of Chief Innovation Officer of a large multinational company. As they learn more about the specific case and identify the challenge they are faced with, the students will have to develop an innovative business case for this multinational corporation. Doing so, this exercise will provide an insight into the context of managerial problem-solving and corporate innovation, and enhance the students' appreciation for the complex tasks companies and managers deal with. The business game presents a realistic model of a company and provides a valuable learning platform to integrate the increasingly important development of the skills and competences required to identify entrepreneurial opportunities, analyse the future business environment and successfully respond to it by taking systematic decisions, e.g. critical assessment of technological possibilities.
Prerequisites / NoticeDiscovering Management is designed to suit the needs and expectations of Bachelor students at all levels as well as Master and PhD students not belonging to D-MTEC. By providing an overview of Business Management, this course is an ideal enrichment of the standard curriculum at ETH Zurich.
No prior knowledge of business or economics is required to successfully complete this course.
363-0511-00LManagerial Economics
Not for MSc students belonging to D-MTEC!
W4 credits3VS. Rausch
Abstract"Managerial Economics" provides an introduction to the theories and methods from Economics and Management Science to analyze economic decision-making in the context of markets. The course targets students with no prior knowledge in Economics and Management.
ObjectiveThe objective of this course is to provide an introduction to microeconomic thinking. Based on the fundamental principles of economic analysis (optimization and equilibrium), the focus lies on understanding key economic concepts relevant for understanding and analyzing economic behavior of firms and consumers in the context of markets. Market demand and supply are derived from the individual decision-making of economic agents and market outcomes under different assumptions about the market structure and market power (perfect competition, monopoly, oligopoly, game theory) are studied. This introductory course aims at providing essential knowledge from the fields of Economics and Management relevant for economic decision-making in the context of both the private and public sector.
Literature"Mikroökonomie" von Robert Pindyck & Daniel Rubinfeld, aktualisierte 8. Auflage, 8/2013, (Pearson Studium - Economic VWL).
Prerequisites / NoticeThe course targets both Bachelor and Master students. No prior knowledge in the areas of Economics and Management is required.
363-0585-00LIntermediate EconometricsW3 credits2VM. Kesina
AbstractThe idea of this course is to familiarize students with instrumental variables estimation of linear regression models and the estimation of models with limited dependent variables as well as of nonlinear regression models. While most of the material covered will pertain to cross-sectional data, we will also work on selected issues with panel data.
ObjectiveI will provide STATA programs and show the execution thereof. After having participated in this course, students will be able to carry out simple research projects and understand the basics of intermediate econometrics. In particular, they will be able to write simple programs in STATA and to qualify their own and others' regression output relating to problems covered.
LiteratureJeffrey M. Wooldridge: Introductory Econometrics; Jeffrey M. Wooldridge: Econometric Analysis of Cross Section and Panel Data; A. Colin Cameron and Pravin K. Trivedi. Microeconometrics: Methods and Applications.
363-1047-00LEconomics of Urban TransportationW3 credits2GA. Russo
AbstractThe first part of the course will present some basic principles of transportation economics, applied to the main issues in urban transport policy (e.g. road pricing, public transport tariffs, investment in infrastructure etc.). The second part of the course will consider some case studies where we will apply the tools acquired in the first part to actual policy issues.
ObjectiveThe main objective of this course is to provide students with some basic tools to analyze transport policy decisions from an economic perspective. Can economics help us reduce road congestion problems? Should drivers be asked to pay for using urban roads? Should public transport tariffs depend on how roads are priced? How should the investment in transport infrastructure be financed? These are some of the questions that students should be able to tackle after completing the course.
ContentCOURSE OUTLINE (preliminary):

1. Introduction
2. Travel demand :
a. travel cost and value of time
b. mode choice
3. Road congestion and first-best pricing
a. Static congestion model
b. Dynamic congestion models
c. Examples: London Congestion Charge, Stockholm Congestion Charge
4. Second-best pricing
a. Pricing roads with unpriced alternatives. Examples: tolled and toll-free highways
b. Public transport: pricing with road congestion and with (or without) road tolls
5. Investment in infrastructure: public transport and roads
a. Roads: Investment with and without pricing
b. induced demand
c. Economies of scale/density in public transport
6. Topics:
a. Political economy of road pricing: why do we see road pricing in so few cities (London, Stockholm...) and not in many other cities (NYC, Manchester, Paris...)?
b. What are the alternatives to road pricing to reduce congestion? Parking tariffs, traffic regulation (speed bumps, low emission zones), road space reduction. Examples: Zurich, San Francisco (SFPark), Paris.
c. Transport and land use: value of housing and transport services. Road congestion, transport subsidies and urban sprawl.
Lecture notesCourse slides will be made available to students prior to each class.
LiteratureSYLLABUS (preliminary):

course slides will be made available to students.

Additional material:

Part 1 to 5: textbook: Small and Verhoef (The economics of urban transportation, 2007).

Part 6: Topics to be covered on research papers/case studies.
376-1177-00LHuman Factors IW3 credits2VM. Menozzi Jäckli, R. Huang, M. Siegrist
AbstractEvery day humans interact with various systems. Strategies of interaction, individual needs, physical & mental abilities, and system properties are important factors in controlling the quality and performance in interaction processes. In the lecture, factors are investigated by basic scientific approaches. Discussed topics are important for optimizing people's satisfaction & overall performance.
ObjectiveThe goal of the lecture is to empower students in better understanding the applied theories, principles, and methods in various applications. Students are expected to learn about how to enable an efficient and qualitatively high standing interaction between human and the environment, considering costs, benefits, health, and safety as well. Thus, an ergonomic design and evaluation process of products, tasks, and environments may be promoted in different disciplines. The goal is achieved in addressing a broad variety of topics and embedding the discussion in macroscopic factors such as the behavior of consumers and objectives of economy.
Content- Physiological, physical, and cognitive factors in sensation and perception
- Body spaces and functional anthropometry, Digital Human Models
- Experimental techniques in assessing human performance and well-being
- Human factors and ergonomics in system designs, product development and innovation
- Human information processing and biological cybernetics
- Interaction among consumers, environments, behavior, and tasks
Literature- Gavriel Salvendy, Handbook of Human Factors and Ergonomics, 4th edition (2012), is available on NEBIS as electronic version and for free to ETH students
- Further textbooks are introduced in the lecture
- Brouchures, checklists, key articles etc. are uploaded in ILIAS
401-7855-00LComputational Astrophysics (University of Zurich)
No enrolment to this course at ETH Zurich. Book the corresponding module directly at UZH.
UZH Module Code: AST245

Mind the enrolment deadlines at UZH:
https://www.uzh.ch/cmsssl/en/studies/application/mobilitaet.html
W6 credits2VL. M. Mayer
Abstract
ObjectiveAcquire knowledge of main methodologies for computer-based models of astrophysical systems,the physical equations behind them, and train such knowledge with simple examples of computer programmes
Content1. Integration of ODE, Hamiltonians and Symplectic integration techniques, time adaptivity, time reversibility
2. Large-N gravity calculation, collisionless N-body systems and their simulation
3. Fast Fourier Transform and spectral methods in general
4. Eulerian Hydrodynamics: Upwinding, Riemann solvers, Limiters
5. Lagrangian Hydrodynamics: The SPH method
6. Resolution and instabilities in Hydrodynamics
7. Initial Conditions: Cosmological Simulations and Astrophysical Disks
8. Physical Approximations and Methods for Radiative Transfer in Astrophysics
LiteratureGalactic Dynamics (Binney & Tremaine, Princeton University Press),
Computer Simulation using Particles (Hockney & Eastwood CRC press),
Targeted journal reviews on computational methods for astrophysical fluids (SPH, AMR, moving mesh)
Prerequisites / NoticeSome knowledge of UNIX, scripting languages (see www.physik.uzh.ch/lectures/informatik/python/ as an example), some prior experience programming, knowledge of C, C++ beneficial
402-1701-00LPhysics IW7 credits4V + 2UA. Wallraff
AbstractThis course gives a first introduction to Physics with an emphasis on classical mechanics.
ObjectiveAcquire knowledge of the basic principles regarding the physics of classical mechanics. Skills in solving physics problems.
651-4271-00LData Analysis and Visualisation with Matlab in Earth SciencesW3 credits3GS. Wiemer, G. De Souza
AbstractThis lecture and the corresponding exercises provide the students with an introduction to the concepts and tools of scientific data analysis. Based on current questions in the Earth Sciences, the students solve problems of increasing complexity both in small groups and singly using the software package MATLAB. Students also learn how to effectively visualise different kinds of datasets.
ObjectiveThe following concepts are introduced in the course:
- Working with matrices and arrays
- Programming and development of algorithms
- Effective data analysis and visualisation in 2D and 3D
- Learning to effectively use animations
- Statistical description of a dataset
- Regression analysis
- Testing hypotheses
701-0071-00LMathematics III: Systems AnalysisW4 credits2V + 1UN. Gruber, M. Vogt
AbstractThe objective of the systems analysis course is to deepen and illustrate the mathematical concepts on the basis of a series of very concrete examples. Topics covered include: linear box models with one or several variables, non-linear box models with one or several variables, time-discrete models, and continuous models in time and space.
ObjectiveLearning and applying of concepts (models) and quantitative methods to address concrete problems of environmental relevance. Understanding and applying the systems-analytic approach, i.e., Recognizing the core of the problem - simplification - quantitative approach - prediction.
Contenthttp://www.up.ethz.ch/education/systems-analysis.html
Lecture notesOverhead slides will be made available through Ilias.
LiteratureImboden, D.S. and S. Pfenninger (2013) Introduction to Systems Analysis: Mathematically Modeling Natural Systems. Berlin Heidelberg: Springer Verlag.

http://link.springer.com/book/10.1007%2F978-3-642-30639-6
5. Semester
NumberTitleTypeECTSHoursLecturers
102-0227-00LSystems Analysis and Mathematical Modeling in Urban Water Management Information Restricted registration - show details
Number of participants limited to 50.
W6 credits4GM. Maurer, K. Villez
AbstractSystematic introduction of material balances, transport processes, kinetics, stoichiometry and conservation. Ideal reactors, residence time distribution, heterogeneous systems, dynamic response of reactors. Parameter identification, local sensitivity, error propagation, Monte Carlo simulation. Introduction to real time control (PID controllers). Extensive coding of examples in Berkeley Madonna.
ObjectiveThe goal of this course is to provide the students with an understanding and the tools to develop their own mathematical models, to plan experiments, to evaluate error propagation and to test simple process control strategies in the field of process engineering in urban water management.
ContentThe course will provide a broad introduction into the fundamentals of modeling water treatment systems. The topics are:
- Introduction into modeling and simulation
- The material balance equations, transport processes, transformation processes (kinetics, stoichiometry, conservation)
- Ideal reactors
- Hydraulic residence time distribution and modeling of real reactors
- Dynamic behavior of reactor systems
- Systems analytical tools: Sensitivity, parameter identification, error propagation, Monte Carlo simulation
- Introduction to process control (PID controller, fuzzy control)
Lecture notesCopies of overheads will be made available.
LiteratureThere will be a required textbook that students need to purchase:
Willi Gujer (2008): Systems Analysis for Water Technology. Springer-Verlag, Berlin Heidelberg
Prerequisites / NoticeGeneral understanding of urban water management. This course will be offered together with the course Process Engineering Ia. It is advantageous to follow both courses simultaneously.
151-0573-00LSystem Modeling Information W4 credits2V + 2UG. Ducard
AbstractIntroduction to system modeling for control. Generic modeling approaches based on first principles, Lagrangian formalism, energy approaches and experimental data. Model parametrization and parameter estimation. Basic analysis of linear and nonlinear systems.
ObjectiveLearn how to mathematically describe a physical system or a process in the form of a model usable for analysis and control purposes.
ContentThis class introduces generic system-modeling approaches for control-oriented models based on first principles and experimental data. The class will span numerous examples related to mechatronic, thermodynamic, chemistry, fluid dynamic, energy, and process engineering systems. Model scaling, linearization, order reduction, and balancing. Parameter estimation with least-squares methods. Various case studies: loud-speaker, turbines, water-propelled rocket, geostationary satellites, etc. The exercises address practical examples.
Lecture notesThe handouts in English will be sold in the first lecture.
LiteratureA list of references is included in the handouts.
151-0575-01LSignals and Systems Information W4 credits2V + 2UA. Carron, G. Ducard
AbstractSignals arise in most engineering applications. They contain information about the behavior of physical systems. Systems respond to signals and produce other signals. In this course, we explore how signals can be represented and manipulated, and their effects on systems. We further explore how we can discover basic system properties by exciting a system with various types of signals.
ObjectiveMaster the basics of signals and systems. Apply this knowledge to problems in the homework assignments and programming exercise.
ContentDiscrete-time signals and systems. Fourier- and z-Transforms. Frequency domain characterization of signals and systems. System identification. Time series analysis. Filter design.
Lecture notesLecture notes available on course website.
Prerequisites / NoticeControl Systems I is helpful but not required.
151-0591-00LControl Systems IW4 credits2V + 2UJ. Tani
AbstractAnalysis and controller synthesis for linear time invariant systems with one input and one output signal (SISO); transition matrix; stability; controllability; observability; Laplace transform; transfer functions; transient and steady state responses. PID control; dynamic compensators; Nyquist theorem.
ObjectiveIdentify the role and importance of control systems in everyday life. Obtain models of single-input single-output (SISO) linear time invariant (LTI) dynamical systems. Linearization of nonlinear models. Interpret stability, observability and controllability of linear systems. Describe and associate building blocks of linear systems in time and frequency domain with equations and graphical representations (Bode plot, Nyquist plot, root locus). Design feedback controllers to meet stability and performance requirements for SISO LTI systems. Explain differences between expected and actual control results. Notions of robustness and other nuisances such as discrete time implementation.
ContentModeling and linearization of dynamic systems with single input and output signals. State-space description. Analysis (stability, reachability, observability, etc.) of open-loop systems. Laplace transformation, systems analysis in the frequency domain. Transfer functions and analysis of the influence of its poles and zeros on the system's dynamic behavior. Frequency response. Analysis of closed-loop systems using the Nyquist criterion. Formulation of performance constraints. Specification of closed-loop system behavior. Synthesis of elementary closed-loop control systems (PID, lead/lag compensation, loop shaping). Discrete time state space representation and stability analysis.
Prerequisites / NoticeBasic knowledge of (complex) analysis and linear algebra.
151-0601-00LTheory of Robotics and Mechatronics Information W4 credits3GP. Korba, S. Stoeter
AbstractThis course provides an introduction and covers the fundamentals of the field, including rigid motions, homogeneous transformations, forward and inverse kinematics of multiple degree of freedom manipulators, velocity kinematics, motion planning, trajectory generation, sensing, vision, and control. It’s a requirement for the Robotics Vertiefung and for the Masters in Mechatronics and Microsystems.
ObjectiveRobotics is often viewed from three perspectives: perception (sensing), manipulation (affecting changes in the world), and cognition (intelligence). Robotic systems integrate aspects of all three of these areas. This course provides an introduction to the theory of robotics, and covers the fundamentals of the field, including rigid motions, homogeneous transformations, forward and inverse kinematics of multiple degree of freedom manipulators, velocity kinematics, motion planning, trajectory generation, sensing, vision, and control. This course is a requirement for the Robotics Vertiefung and for the Masters in Mechatronics and Microsystems.
ContentAn introduction to the theory of robotics, and covers the fundamentals of the field, including rigid motions, homogeneous transformations, forward and inverse kinematics of multiple degree of freedom manipulators, velocity kinematics, motion planning, trajectory generation, sensing, vision, and control.
Lecture notesavailable.
151-0709-00LStochastic Methods for Engineers and Natural Scientists Restricted registration - show details
Number of participants limited to 45.
W4 credits3GD. W. Meyer-Massetti
AbstractThe course provides an introduction into stochastic methods that are applicable for example for the description and modeling of turbulent and subsurface flows. Moreover, mathematical techniques are presented that are used to quantify uncertainty in various engineering applications.
ObjectiveBy the end of the course you should be able to mathematically describe random quantities and their effect on physical systems. Moreover, you should be able to develop basic stochastic models of such systems.
Content- Probability theory, single and multiple random variables, mappings of random variables
- Estimation of statistical moments and probability densities based on data
- Stochastic differential equations, Ito calculus, PDF evolution equations
- Polynomial chaos and other expansion methods
All topics are illustrated with engineering applications.
Lecture notesDetailed lecture notes will be provided.
LiteratureSome textbooks related to the material covered in the course:
Stochastic Methods: A Handbook for the Natural and Social Sciences, Crispin Gardiner, Springer, 2010
The Fokker-Planck Equation: Methods of Solutions and Applications, Hannes Risken, Springer, 1996
Turbulent Flows, S.B. Pope, Cambridge University Press, 2000
Spectral Methods for Uncertainty Quantification, O.P. Le Maitre and O.M. Knio, Springer, 2010
151-3217-00LCoaching Students (Basic Training)W1 credit1GR. P. Haas, 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, i.e. 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 actively coaching students.
227-0076-00LElectrical Engineering IIW4 credits2V + 2UJ. Biela
AbstractNon-sinusoidal signals and systems in the time and frequency domain, principle of operation and design of basic analog and digital circuits as well as analog-digital conversion. Basic power electronic circuits, design of magnetic components, electromechanical energy conversion, principle of operation and characteristics of transformators and selected rotating electrical machines.
Objectivesee above
ContentBeschreibung von nicht-sinusförmigen Signalen und Systemen im Zeit- und Frequenzbereich, Funktion grundlegender analoger und digitaler Schaltungen sowie von Analog-Digital-Wandlern. Grundlagen leistungselektronischer Konverter, Berechnung magnetischer Kreise, elektromechanische Energiewandlung, Funktionsprinzip von Transformatoren und ausgewählter rotierender elektrischer Maschinen.
227-0102-00LDiscrete Event Systems Information W6 credits4GL. Thiele, L. Vanbever, R. Wattenhofer
AbstractIntroduction 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.
ObjectiveOver 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.
Content1. 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 notesAvailable
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-00LVLSI I: From Architectures to VLSI Circuits and FPGAs Information W6 credits5GF. K. Gürkaynak, L. Benini
AbstractThis 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.
ObjectiveUnderstand 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 VHDL or 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 VHDL and with industrial Electronic Design Automation (EDA) tools.
ContentThis 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.
- VLSI and 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.
- VHDL and SystemVerilog compared.
- VHDL (IEEE standard 1076) for simulation and synthesis.
- A suitable nine-valued logic system (IEEE standard 1164).
- 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 digital ICs with VHDL. They write testbenches for simulation purposes and synthesize gate-level netlists for VLSI chips and FPGAs. Commercial EDA software by leading vendors is being used throughout.
Lecture notesTextbook and all further documents in English.
LiteratureH. Kaeslin: "Top-Down Digital VLSI Design, from Architectures to Gate-Level Circuits and FPGAs", Elsevier, 2014, ISBN 9780128007303.
Prerequisites / NoticePrerequisites:
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-0731-00LPower Market I - Portfolio and Risk ManagementW6 credits4GD. Reichelt, G. A. Koeppel
AbstractPortfolio and risk management in the electrical power business, Pan-European power market and trading, futures and forward contracts, hedging, options and derivatives, performance indicators for the risk management, modelling of physical assets, cross-border trading, ancillary services, balancing power market, Swiss market model
ObjectiveKnowlege on the worldwide liberalisation of electricity markets, pan-european power trading and the role of power exchanges. Understand financial products (derivatives) based on power. Management of a portfolio containing physical production, contracts and derivatives. Evaluate trading and hedging strategies. Apply methods and tools of risk management.
Content1. Pan-European power market and trading
1.1. Power trading
1.2. Development of the European power markets
1.3. Energy economics
1.4. Spot and OTC trading
1.5. European energy exchange EEX

2. Market model
2.1. Market place and organisation
2.2. Balance groups / balancing energy
2.3. Ancillary services
2.4. Market for ancillary services
2.5. Cross-border trading
2.6. Capacity auctions

3. Portfolio and Risk management
3.1. Portfolio management 1 (introduction)
3.2. Forward and futures contracts
3.3. Risk management 1 (m2m, VaR, hpfc, volatility, cVaR)
3.4. Risk management 2 (PaR)
3.5. Contract valuation (HPFC)
3.6. Portfolio management 2
2.8. Risk Management 3 (enterprise wide)

4. Energy & Finance I
4.1. Options 1 – basics
4.2. Options 2 – hedging with options
4.3. Introduction to derivatives (swaps, cap, floor, collar)
4.4. Financial modelling of physical assets
4.5. Trading and hydro power
4.6. Incentive regulation
Lecture notesHandouts of the lecture
Prerequisites / Notice1 excursion per semester, 2 case studies, guest speakers for specific topics.
Course Moodle: https://moodle-app2.let.ethz.ch/course/view.php?id=4398
227-0945-00LCell and Molecular Biology for Engineers I
This course is part I of a two-semester course.
W3 credits2GC. Frei
AbstractThe course gives an introduction into cellular and molecular biology, specifically for students with a background in engineering. The focus will be on the basic organization of eukaryotic cells, molecular mechanisms and cellular functions. Textbook knowledge will be combined with results from recent research and technological innovations in biology.
ObjectiveAfter completing this course, engineering students will be able to apply their previous training in the quantitative and physical sciences to modern biology. Students will also learn the principles how biological models are established, and how these models can be tested.
ContentLectures will include the following topics (part I and II): DNA, chromosomes, RNA, protein, genetics, gene expression, membrane structure and function, vesicular traffic, cellular communication, energy conversion, cytoskeleton, cell cycle, cellular growth, apoptosis, autophagy, cancer, development and stem cells.

In addition, 4 journal clubs will be held, where recent publications will be discussed (2 journal clubs in part I and 2 journal clubs in part II). For each journal club, students (alone or in groups of up to three students) have to write a summary and discussion of the publication. These written documents will be graded and count as 40% for the final grade.
Lecture notesScripts of all lectures will be available.
Literature"Molecular Biology of the Cell" (6th edition) by Alberts, Johnson, Lewis, Raff, Roberts, and Walter.
227-2037-00LPhysical Modelling and Simulation Information W6 credits4GJ. Smajic
AbstractThis module consists of (a) an introduction to fundamental equations of electromagnetics, mechanics and heat transfer, (b) a detailed overview of numerical methods for field simulations, and (c) practical examples solved in form of small projects.
ObjectiveBasic knowledge of the fundamental equations and effects of electromagnetics, mechanics, and heat transfer. Knowledge of the main concepts of numerical methods for physical modelling and simulation. Ability (a) to develop own simple field simulation programs, (b) to select an appropriate field solver for a given problem, (c) to perform field simulations, (d) to evaluate the obtained results, and (e) to interactively improve the models until sufficiently accurate results are obtained.
ContentThe module begins with an introduction to the fundamental equations and effects of electromagnetics, mechanics, and heat transfer. After the introduction follows a detailed overview of the available numerical methods for solving electromagnetic, thermal and mechanical boundary value problems. This part of the course contains a general introduction into numerical methods, differential and integral forms, linear equation systems, Finite Difference Method (FDM), Boundary Element Method (BEM), Method of Moments (MoM), Multiple Multipole Program (MMP) and Finite Element Method (FEM). The theoretical part of the course finishes with a presentation of multiphysics simulations through several practical examples of HF-engineering such as coupled electromagnetic-mechanical and electromagnetic-thermal analysis of MEMS.
In the second part of the course the students will work in small groups on practical simulation problems. For solving practical problems the students can develop and use own simulation programs or chose an appropriate commercial field solver for their specific problem. This practical simulation work of the students is supervised by the lecturers.
351-0778-00LDiscovering Management
Entry level course in management for BSc, MSc and PHD students at all levels not belonging to D-MTEC. This course can be complemented with Discovering Management (Excercises) 351-0778-01.
W3 credits3GB. Clarysse, M. Ambühl, S. Brusoni, E. Fleisch, G. Grote, V. Hoffmann, T. Netland, G. von Krogh, F. von Wangenheim
AbstractDiscovering Management offers an introduction to the field of business management and entrepreneurship for engineers and natural scientists. The module provides an overview of the principles of management, teaches knowledge about management that is highly complementary to the students' technical knowledge, and provides a basis for advancing the knowledge of the various subjects offered at D-MTEC.
ObjectiveDiscovering Management combines in an innovate format a set of lectures and an advanced business game. The learning model for Discovering Management involves 'learning by doing'. The objective is to introduce the students to the relevant topics of the management literature and give them a good introduction in entrepreneurship topics too. The course is a series of lectures on the topics of strategy, innovation, corporate finance, leadership, design thinking and corporate social responsibility. While the 14 different lectures provide the theoretical and conceptual foundations, the experiential learning outcomes result from the interactive business game. The purpose of the business game is to analyse the innovative needs of a large multinational company and develop a business case for the company to grow. This business case is as relevant to someone exploring innovation within an organisation as it is if you are planning to start your own business. By discovering the key aspects of entrepreneurial management, the purpose of the course is to advance students' understanding of factors driving innovation, entrepreneurship, and company success.
ContentDiscovering Management aims to broaden the students' understanding of the principles of business management, emphasizing the interdependence of various topics in the development and management of a firm. The lectures introduce students not only to topics relevant for managing large corporations, but also touch upon the different aspects of starting up your own venture. The lectures will be presented by the respective area specialists at D-MTEC.
The course broadens the view and understanding of technology by linking it with its commercial applications and with society. The lectures are designed to introduce students to topics related to strategy, corporate innovation, leadership, corporate and entrepreneurial finance, value chain analysis, corporate social responsibility, and business model innovation. Practical examples from industry experts will stimulate the students to critically assess these issues. Creative skills will be trained by the business game exercise, a participant-centered learning activity, which provides students with the opportunity to place themselves in the role of Chief Innovation Officer of a large multinational company. As they learn more about the specific case and identify the challenge they are faced with, the students will have to develop an innovative business case for this multinational corporation. Doing so, this exercise will provide an insight into the context of managerial problem-solving and corporate innovation, and enhance the students' appreciation for the complex tasks companies and managers deal with. The business game presents a realistic model of a company and provides a valuable learning platform to integrate the increasingly important development of the skills and competences required to identify entrepreneurial opportunities, analyse the future business environment and successfully respond to it by taking systematic decisions, e.g. critical assessment of technological possibilities.
Prerequisites / NoticeDiscovering Management is designed to suit the needs and expectations of Bachelor students at all levels as well as Master and PhD students not belonging to D-MTEC. By providing an overview of Business Management, this course is an ideal enrichment of the standard curriculum at ETH Zurich.
No prior knowledge of business or economics is required to successfully complete this course.
363-0511-00LManagerial Economics
Not for MSc students belonging to D-MTEC!
W4 credits3VS. Rausch
Abstract"Managerial Economics" provides an introduction to the theories and methods from Economics and Management Science to analyze economic decision-making in the context of markets. The course targets students with no prior knowledge in Economics and Management.
ObjectiveThe objective of this course is to provide an introduction to microeconomic thinking. Based on the fundamental principles of economic analysis (optimization and equilibrium), the focus lies on understanding key economic concepts relevant for understanding and analyzing economic behavior of firms and consumers in the context of markets. Market demand and supply are derived from the individual decision-making of economic agents and market outcomes under different assumptions about the market structure and market power (perfect competition, monopoly, oligopoly, game theory) are studied. This introductory course aims at providing essential knowledge from the fields of Economics and Management relevant for economic decision-making in the context of both the private and public sector.
Literature"Mikroökonomie" von Robert Pindyck & Daniel Rubinfeld, aktualisierte 8. Auflage, 8/2013, (Pearson Studium - Economic VWL).
Prerequisites / NoticeThe course targets both Bachelor and Master students. No prior knowledge in the areas of Economics and Management is required.
363-0541-00LSystems Dynamics and ComplexityW3 credits3GF. Schweitzer, G. Casiraghi, V. Nanumyan
AbstractFinding solutions: what is complexity, problem solving cycle.

Implementing solutions: project management, critical path method, quality control feedback loop.

Controlling solutions: Vensim software, feedback cycles, control parameters, instabilities, chaos, oscillations and cycles, supply and demand, production functions, investment and consumption
ObjectiveA successful participant of the course is able to:
- understand why most real problems are not simple, but require solution methods that go beyond algorithmic and mathematical approaches
- apply the problem solving cycle as a systematic approach to identify problems and their solutions
- calculate project schedules according to the critical path method
- setup and run systems dynamics models by means of the Vensim software
- identify feedback cycles and reasons for unintended systems behavior
- analyse the stability of nonlinear dynamical systems and apply this to macroeconomic dynamics
ContentWhy are problems not simple? Why do some systems behave in an unintended way? How can we model and control their dynamics? The course provides answers to these questions by using a broad range of methods encompassing systems oriented management, classical systems dynamics, nonlinear dynamics and macroeconomic modeling.
The course is structured along three main tasks:
1. Finding solutions
2. Implementing solutions
3. Controlling solutions

PART 1 introduces complexity as a system immanent property that cannot be simplified. It introduces the problem solving cycle, used in systems oriented management, as an approach to structure problems and to find solutions.

PART 2 discusses selected problems of project management when implementing solutions. Methods for identifying the critical path of subtasks in a project and for calculating the allocation of resources are provided. The role of quality control as an additional feedback loop and the consequences of small changes are discussed.

PART 3, by far the largest part of the course, provides more insight into the dynamics of existing systems. Examples come from biology (population dynamics), management (inventory modeling, technology adoption, production systems) and economics (supply and demand, investment and consumption). For systems dynamics models, the software program VENSIM is used to evaluate the dynamics. For economic models analytical approaches, also used in nonlinear dynamics and control theory, are applied. These together provide a systematic understanding of the role of feedback loops and instabilities in the dynamics of systems. Emphasis is on oscillating phenomena, such as business cycles and other life cycles.

Weekly self-study tasks are used to apply the concepts introduced in the lectures and to come to grips with the software program VENSIM.
Lecture notesThe lecture slides are provided as handouts - including notes and literature sources - to registered students only. All material is to be found on the Moodle platform. More details during the first lecture
Prerequisites / NoticeSelf-study tasks (discussion exercises, Vensim exercises) are provided as home work. Weekly exercise sessions (45 min) are used to discuss selected solutions. Regular participation in the exercises is an efficient way to understand the concepts relevant for the final exam.
363-0585-00LIntermediate EconometricsW3 credits2VM. Kesina
AbstractThe idea of this course is to familiarize students with instrumental variables estimation of linear regression models and the estimation of models with limited dependent variables as well as of nonlinear regression models. While most of the material covered will pertain to cross-sectional data, we will also work on selected issues with panel data.
ObjectiveI will provide STATA programs and show the execution thereof. After having participated in this course, students will be able to carry out simple research projects and understand the basics of intermediate econometrics. In particular, they will be able to write simple programs in STATA and to qualify their own and others' regression output relating to problems covered.
LiteratureJeffrey M. Wooldridge: Introductory Econometrics; Jeffrey M. Wooldridge: Econometric Analysis of Cross Section and Panel Data; A. Colin Cameron and Pravin K. Trivedi. Microeconometrics: Methods and Applications.
363-1047-00LEconomics of Urban TransportationW3 credits2GA. Russo
AbstractThe first part of the course will present some basic principles of transportation economics, applied to the main issues in urban transport policy (e.g. road pricing, public transport tariffs, investment in infrastructure etc.). The second part of the course will consider some case studies where we will apply the tools acquired in the first part to actual policy issues.
ObjectiveThe main objective of this course is to provide students with some basic tools to analyze transport policy decisions from an economic perspective. Can economics help us reduce road congestion problems? Should drivers be asked to pay for using urban roads? Should public transport tariffs depend on how roads are priced? How should the investment in transport infrastructure be financed? These are some of the questions that students should be able to tackle after completing the course.
ContentCOURSE OUTLINE (preliminary):

1. Introduction
2. Travel demand :
a. travel cost and value of time
b. mode choice
3. Road congestion and first-best pricing
a. Static congestion model
b. Dynamic congestion models
c. Examples: London Congestion Charge, Stockholm Congestion Charge
4. Second-best pricing
a. Pricing roads with unpriced alternatives. Examples: tolled and toll-free highways
b. Public transport: pricing with road congestion and with (or without) road tolls
5. Investment in infrastructure: public transport and roads
a. Roads: Investment with and without pricing
b. induced demand
c. Economies of scale/density in public transport
6. Topics:
a. Political economy of road pricing: why do we see road pricing in so few cities (London, Stockholm...) and not in many other cities (NYC, Manchester, Paris...)?
b. What are the alternatives to road pricing to reduce congestion? Parking tariffs, traffic regulation (speed bumps, low emission zones), road space reduction. Examples: Zurich, San Francisco (SFPark), Paris.
c. Transport and land use: value of housing and transport services. Road congestion, transport subsidies and urban sprawl.
Lecture notesCourse slides will be made available to students prior to each class.
LiteratureSYLLABUS (preliminary):

course slides will be made available to students.

Additional material:

Part 1 to 5: textbook: Small and Verhoef (The economics of urban transportation, 2007).

Part 6: Topics to be covered on research papers/case studies.
376-1177-00LHuman Factors IW3 credits2VM. Menozzi Jäckli, R. Huang, M. Siegrist
AbstractEvery day humans interact with various systems. Strategies of interaction, individual needs, physical & mental abilities, and system properties are important factors in controlling the quality and performance in interaction processes. In the lecture, factors are investigated by basic scientific approaches. Discussed topics are important for optimizing people's satisfaction & overall performance.
ObjectiveThe goal of the lecture is to empower students in better understanding the applied theories, principles, and methods in various applications. Students are expected to learn about how to enable an efficient and qualitatively high standing interaction between human and the environment, considering costs, benefits, health, and safety as well. Thus, an ergonomic design and evaluation process of products, tasks, and environments may be promoted in different disciplines. The goal is achieved in addressing a broad variety of topics and embedding the discussion in macroscopic factors such as the behavior of consumers and objectives of economy.
Content- Physiological, physical, and cognitive factors in sensation and perception
- Body spaces and functional anthropometry, Digital Human Models
- Experimental techniques in assessing human performance and well-being
- Human factors and ergonomics in system designs, product development and innovation
- Human information processing and biological cybernetics
- Interaction among consumers, environments, behavior, and tasks
Literature- Gavriel Salvendy, Handbook of Human Factors and Ergonomics, 4th edition (2012), is available on NEBIS as electronic version and for free to ETH students
- Further textbooks are introduced in the lecture
- Brouchures, checklists, key articles etc. are uploaded in ILIAS
401-0353-00LAnalysis III Information W4 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-0625-01LApplied Analysis of Variance and Experimental Design Information W5 credits2V + 1UL. Meier
AbstractPrinciples of experimental design, one-way analysis of variance, contrasts and multiple comparisons, multi-factor designs and analysis of variance, complete block designs, Latin square designs, random effects and mixed effects models, split-plot designs, incomplete block designs, two-series factorials and fractional designs, power.
ObjectiveParticipants will be able to plan and analyze efficient experiments in the fields of natural sciences. They will gain practical experience by using the software R.
ContentPrinciples of experimental design, one-way analysis of variance, contrasts and multiple comparisons, multi-factor designs and analysis of variance, complete block designs, Latin square designs, random effects and mixed effects models, split-plot designs, incomplete block designs, two-series factorials and fractional designs, power.
LiteratureG. Oehlert: A First Course in Design and Analysis of Experiments, W.H. Freeman and Company, New York, 2000.
Prerequisites / NoticeThe exercises, but also the classes will be based on procedures from the freely available, open-source statistical software R, for which an introduction will be held.
402-0809-00LIntroduction to Computational PhysicsW8 credits2V + 2UH. J. Herrmann
AbstractThis course offers an introduction to computer simulation methods for physics problems and their implementation on PCs and super computers: classical equations of motion, partial differential equations (wave equation, diffusion equation, Maxwell's equation), Monte Carlo simulations, percolation, phase transitions
Objective
ContentEinführung in die rechnergestützte Simulation physikalischer Probleme. Anhand einfacher Modelle aus der klassischen Mechanik, Elektrodynamik und statistischen Mechanik sowie interdisziplinären Anwendungen werden die wichtigsten objektorientierten Programmiermethoden für numerische Simulationen (überwiegend in C++) erläutert. Daneben wird eine Einführung in die Programmierung von Vektorsupercomputern und parallelen Rechnern, sowie ein Überblick über vorhandene Softwarebibliotheken für numerische Simulationen geboten.
Prerequisites / NoticeLecture and exercise lessons in english, exams in German or in English
401-4623-00LTime Series AnalysisW6 credits3GN. Meinshausen
AbstractStatistical analysis and modeling of observations in temporal order, which exhibit dependence. Stationarity, trend estimation, seasonal decomposition, autocorrelations,
spectral and wavelet analysis, ARIMA-, GARCH- and state space models. Implementations in the software R.
ObjectiveUnderstanding of the basic models and techniques used in time series analysis and their implementation in the statistical software R.
ContentThis course deals with modeling and analysis of variables which change randomly in time. Their essential feature is the dependence between successive observations.
Applications occur in geophysics, engineering, economics and finance. Topics covered: Stationarity, trend estimation, seasonal decomposition, autocorrelations,
spectral and wavelet analysis, ARIMA-, GARCH- and state space models. The models and techniques are illustrated using the statistical software R.
Lecture notesNot available
LiteratureA list of references will be distributed during the course.
Prerequisites / NoticeBasic knowledge in probability and statistics
401-4657-00LNumerical Analysis of Stochastic Ordinary Differential Equations Information
Alternative course title: "Computational Methods for Quantitative Finance: Monte Carlo and Sampling Methods"
W6 credits3V + 1UA. Jentzen, L. Yaroslavtseva
AbstractCourse on numerical approximations of stochastic ordinary differential equations driven by Wiener processes. These equations have several applications, for example in financial option valuation. This course also contains an introduction to random number generation and Monte Carlo methods for random variables.
ObjectiveThe aim of this course is to enable the students to carry out simulations and their mathematical convergence analysis for stochastic models originating from applications such as mathematical finance. For this the course teaches a decent knowledge of the different numerical methods, their underlying ideas, convergence properties and implementation issues.
ContentGeneration of random numbers
Monte Carlo methods for the numerical integration of random variables
Stochastic processes and Brownian motion
Stochastic ordinary differential equations (SODEs)
Numerical approximations of SODEs
Applications to computational finance: Option valuation
Lecture notesLecture notes are available as a PDF file: see Learning materials.
LiteratureP. Glassermann:
Monte Carlo Methods in Financial Engineering.
Springer-Verlag, New York, 2004.

P. E. Kloeden and E. Platen:
Numerical Solution of Stochastic Differential Equations.
Springer-Verlag, Berlin, 1992.
Prerequisites / NoticePrerequisites:

Mandatory: Probability and measure theory,
basic numerical analysis and
basics of MATLAB programming.

a) mandatory courses:
Elementary Probability,
Probability Theory I.

b) recommended courses:
Stochastic Processes.

Start of lectures: Wednesday, September 19, 2018.

Date of the End-of-Semester examination: Wednesday, December 19, 2018, 13:00-15:00; students must arrive before 12:30 at ETH HG E 19.
Room for the End-of-Semester examination: ETH HG E 19.

Exam inspection: Tuesday, February 26, 2019,
12:00-13:00 at HG D 7.2.
Please bring your legi.
401-7855-00LComputational Astrophysics (University of Zurich)
No enrolment to this course at ETH Zurich. Book the corresponding module directly at UZH.
UZH Module Code: AST245

Mind the enrolment deadlines at UZH:
https://www.uzh.ch/cmsssl/en/studies/application/mobilitaet.html
W6 credits2VL. M. Mayer
Abstract
ObjectiveAcquire knowledge of main methodologies for computer-based models of astrophysical systems,the physical equations behind them, and train such knowledge with simple examples of computer programmes
Content1. Integration of ODE, Hamiltonians and Symplectic integration techniques, time adaptivity, time reversibility
2. Large-N gravity calculation, collisionless N-body systems and their simulation
3. Fast Fourier Transform and spectral methods in general
4. Eulerian Hydrodynamics: Upwinding, Riemann solvers, Limiters
5. Lagrangian Hydrodynamics: The SPH method
6. Resolution and instabilities in Hydrodynamics
7. Initial Conditions: Cosmological Simulations and Astrophysical Disks
8. Physical Approximations and Methods for Radiative Transfer in Astrophysics
LiteratureGalactic Dynamics (Binney & Tremaine, Princeton University Press),
Computer Simulation using Particles (Hockney & Eastwood CRC press),
Targeted journal reviews on computational methods for astrophysical fluids (SPH, AMR, moving mesh)
Prerequisites / NoticeSome knowledge of UNIX, scripting languages (see www.physik.uzh.ch/lectures/informatik/python/ as an example), some prior experience programming, knowledge of C, C++ beneficial
402-1701-00LPhysics IW7 credits4V + 2UA. Wallraff
AbstractThis course gives a first introduction to Physics with an emphasis on classical mechanics.
ObjectiveAcquire knowledge of the basic principles regarding the physics of classical mechanics. Skills in solving physics problems.
636-0007-00LComputational Systems Biology Information W6 credits3V + 2UJ. Stelling
AbstractStudy of fundamental concepts, models and computational methods for the analysis of complex biological networks. Topics: Systems approaches in biology, biology and reaction network fundamentals, modeling and simulation approaches (topological, probabilistic, stoichiometric, qualitative, linear / nonlinear ODEs, stochastic), and systems analysis (complexity reduction, stability, identification).
ObjectiveThe aim of this course is to provide an introductory overview of mathematical and computational methods for the modeling, simulation and analysis of biological networks.
ContentBiology has witnessed an unprecedented increase in experimental data and, correspondingly, an increased need for computational methods to analyze this data. The explosion of sequenced genomes, and subsequently, of bioinformatics methods for the storage, analysis and comparison of genetic sequences provides a prominent example. Recently, however, an additional area of research, captured by the label "Systems Biology", focuses on how networks, which are more than the mere sum of their parts' properties, establish biological functions. This is essentially a task of reverse engineering. The aim of this course is to provide an introductory overview of corresponding computational methods for the modeling, simulation and analysis of biological networks. We will start with an introduction into the basic units, functions and design principles that are relevant for biology at the level of individual cells. Making extensive use of example systems, the course will then focus on methods and algorithms that allow for the investigation of biological networks with increasing detail. These include (i) graph theoretical approaches for revealing large-scale network organization, (ii) probabilistic (Bayesian) network representations, (iii) structural network analysis based on reaction stoichiometries, (iv) qualitative methods for dynamic modeling and simulation (Boolean and piece-wise linear approaches), (v) mechanistic modeling using ordinary differential equations (ODEs) and finally (vi) stochastic simulation methods.
Lecture noteshttp://www.csb.ethz.ch/education/lectures.html
LiteratureU. Alon, An introduction to systems biology. Chapman & Hall / CRC, 2006.

Z. Szallasi et al. (eds.), System modeling in cellular biology. MIT Press, 2010.

B. Ingalls, Mathematical modeling in systems biology: an introduction. MIT Press, 2013
651-4241-00LNumerical Modelling I and II: Theory and ApplicationsW6 credits4GT. Gerya
AbstractIn this 13-week sequence, students learn how to write programs from scratch to solve partial differential equations that are useful for Earth science applications. Programming will be done in MATLAB and will use the finite-difference method and marker-in-cell technique. The course will emphasise a hands-on learning approach rather than extensive theory.
ObjectiveThe goal of this course is for students to learn how to program numerical applications from scratch. By the end of the course, students should be able to write state-of-the-art MATLAB codes that solve systems of partial-differential equations relevant to Earth and Planetary Science applications using finite-difference method and marker-in-cell technique. Applications include Poisson equation, buoyancy driven variable viscosity flow, heat diffusion and advection, and state-of-the-art thermomechanical code programming. The emphasis will be on commonality, i.e., using a similar approach to solve different applications, and modularity, i.e., re-use of code in different programs. The course will emphasise a hands-on learning approach rather than extensive theory, and will begin with an introduction to programming in MATLAB.
ContentA provisional week-by-week schedule (subject to change) is as follows:

Week 1: Introduction to the finite difference approximation to differential equations. Introduction to programming in Matlab. Solving of 1D Poisson equation.
Week 2: Direct and iterative methods for obtaining numerical solutions. Solving of 2D Poisson equation with direct method. Solving of 2D Poisson equation with Gauss-Seidel and Jacobi iterative methods.
Week 3: Solving momentum and continuity equations in case of constant viscosity with stream function/vorticity formulation.
Weeks 4: Staggered grid for formulating momentum and continuity equations. Indexing of unknowns. Solving momentum and continuity equations in case of constant viscosity using pressure-velocity formulation with staggered grid.
Weeks 5: Conservative finite differences for the momentum equation. "Free slip" and "no slip" boundary conditions. Solving momentum and continuity equations in case of variable viscosity using pressure-velocity formulation with staggered grid.
Week 6: Advection in 1-D. Eulerian methods. Marker-in-cell method. Comparison of different advection methods and their accuracy.
Week 7: Advection in 2-D with Marker-in-cell method. Combining flow calculation and advection for buoyancy driven flow.
Week 8: "Free surface" boundary condition and "sticky air" approach. Free surface stabilization. Runge-Kutta schemes.
Week 9: Solving 2D heat conservation equation in case of constant thermal conductivity with explicit and implicit approaches.
Week 10: Solving 2D heat conservation equation in case of variable thermal conductivity with implicit approach. Temperature advection with markers. Creating thermomechanical code by combining mechanical solution for 2D buoyancy driven flow with heat diffusion and advection based on marker-in-cell approach.
Week 11: Subgrid diffusion of temperature. Implementing subgrid diffusion to the thermomechanical code.
Week 12: Implementation of radioactive, adiabatic and shear heating to the thermomechanical code.
Week 13: Implementation of temperature-, pressure- and strain rate-dependent viscosity, temperature- and pressure-dependent density and temperature-dependent thermal conductivity to the thermomechanical code. Final project description.


GRADING will be based on weekly programming homeworks (50%) and a term project (50%) to develop an application of their choice to a more advanced level.
LiteratureTaras Gerya, Introduction to Numerical Geodynamic Modelling, Cambridge University Press 2010
701-0071-00LMathematics III: Systems AnalysisW4 credits2V + 1UN. Gruber, M. Vogt
AbstractThe objective of the systems analysis course is to deepen and illustrate the mathematical concepts on the basis of a series of very concrete examples. Topics covered include: linear box models with one or several variables, non-linear box models with one or several variables, time-discrete models, and continuous models in time and space.
ObjectiveLearning and applying of concepts (models) and quantitative methods to address concrete problems of environmental relevance. Understanding and applying the systems-analytic approach, i.e., Recognizing the core of the problem - simplification - quantitative approach - prediction.
Contenthttp://www.up.ethz.ch/education/systems-analysis.html
Lecture notesOverhead slides will be made available through Ilias.
LiteratureImboden, D.S. and S. Pfenninger (2013) Introduction to Systems Analysis: Mathematically Modeling Natural Systems. Berlin Heidelberg: Springer Verlag.

http://link.springer.com/book/10.1007%2F978-3-642-30639-6
ONLY for Programme Regulations 2008
Compulsory Courses
NumberTitleTypeECTSHoursLecturers
252-0057-00LTheoretical Computer Science Information O7 credits4V + 2UJ. Hromkovic, H.‑J. Böckenhauer
AbstractConcepts to cope with: a) what can be accomplished in a fully automated fashion (algorithmically solvable) b) How to measure the inherent difficulty of tasks (problems) c) What is randomness and how can it be useful? d) What is nondeterminism and what role does it play in CS? e) How to represent infinite objects by finite automata and grammars?
ObjectiveLearning the basic concepts of computer science along their historical development
ContentThis lecture gives an introduction to theoretical computer science, presenting the basic concepts and methods of computer science in its historical context. We present computer science as an interdisciplinary science which, on the one hand, investigates the border between the possible and the impossible and the quantitative laws of information processing, and, on the other hand, designs, analyzes, verifies, and implements computer systems.

The main topics of the lecture are:

- alphabets, words, languages, measuring the information content of words, representation of algorithmic tasks
- finite automata, regular and context-free grammars
- Turing machines and computability
- complexity theory and NP-completeness
- design of algorithms for hard problems
Lecture notesThe lecture is covered in detail by the textbook "Theoretical Computer Science".
LiteratureBasic literature:

1. J. Hromkovic: Theoretische Informatik. 5th edition, Springer Vieweg 2014.

2. J. Hromkovic: Theoretical Computer Science. Springer 2004.

Further reading:

3. M. Sipser: Introduction to the Theory of Computation, PWS Publ. Comp.1997
4. J.E. Hopcroft, R. Motwani, J.D. Ullman: Introduction to Automata Theory, Languages, and Computation (3rd Edition), Addison-Wesley 2006.
5. I. Wegener: Theoretische Informatik. Teubner.

More exercises and examples in:

6. A. Asteroth, Ch. Baier: Theoretische Informatik
Prerequisites / NoticeDuring the semester, two non-obligatory test exams will be offered.
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
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.
Major
Compulsory Major Courses
Major in Computer and Software Engineering
Students, who have already taken 252-0213-00 Verteilte Systeme are NOT allowed to register for this course!
NumberTitleTypeECTSHoursLecturers
252-0217-00LComputer Systems Information O8 credits4V + 2U + 1AT. Roscoe, R. Wattenhofer
AbstractThis course is about real computer systems, and the principles on which they are designed and built. We cover both modern OSes and the large-scale distributed systems that power today's online services. We illustrate the ideas with real-world examples, but emphasize common theoretical results, practical tradeoffs, and design principles that apply across many different scales and technologies.
ObjectiveThe objective of the course is for students to understand the theoretical principles, practical considerations, performance tradeoffs, and engineering techniques on which the software underpinning almost all modern computer systems is based, ranging from single embedded systems-on-chip in mobile phones to large-scale geo-replicated groups of datacenters.

By the end of the course, students should be able to reason about highly complex, real, operational software systems, applying concepts such as hierarchy, modularity, consistency, durability, availability, fault-tolerance, and replication.
ContentThis course subsumes the topics of both "operating systems" and "distributed systems" into a single coherent picture (reflecting the reality that these disciplines are highly converged). The focus is system software: the foundations of modern computer systems from mobile phones to the large-scale geo-replicated data centers on which Internet companies like Amazon, Facebook, Google, and Microsoft are based.

We will cover a range of topics, such as: scheduling, network protocol stacks, multiplexing and demultiplexing, operating system structure, inter-process communication, memory managment, file systems, naming, dataflow, data storage, persistence, and durability, computer systems performance, remove procedure call, consensus and agreement, fault tolerance, physical and logical clocks, virtualization, and blockchains.

The format of the course is a set of about 25 topics, each covered in a lecture. A script will be published online ahead of each lecture, and the latter will consist of an interactive elaboration of the material in the script. There is no book for the course, but we will refer to books and research papers throughout to provide additional background and explanation.
Prerequisites / NoticeWe will assume knowlege of the "Systems Programming" and "Computer Networks" courses (or equivalent), and their prerequisites, and build upon them.
Major in Computational Science
The lecture 151-0107-20L High Performance Computing for Science and Engineering I in the autumn semester can only together with the lecture 401-0686-10L High Performance Computing for Science and Engineering II in the spring semester be accredited as compulsory course.
NumberTitleTypeECTSHoursLecturers
252-0206-00LVisual Computing Information O8 credits4V + 3UM. Pollefeys, S. Coros
AbstractThis 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.
ObjectiveThis 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.
ContentCourse 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 notesA scriptum will be handed out for a part of the course. Copies of the slides will be available for download. We will also provide a detailed list of references and textbooks.
LiteratureMarkus Gross: Computer Graphics, scriptum, 1994-2005
Major in Theoretical Computer Science
NumberTitleTypeECTSHoursLecturers
252-0209-00LAlgorithms, Probability, and Computing Information O8 credits4V + 2U + 1AE. Welzl, M. Ghaffari, A. Steger, D. Steurer, P. Widmayer
AbstractAdvanced design and analysis methods for algorithms and data structures: Random(ized) Search Trees, Point Location, Minimum Cut, Linear Programming, Randomized Algebraic Algorithms (matchings), Probabilistically Checkable Proofs (introduction).
ObjectiveStudying and understanding of fundamental advanced concepts in algorithms, data structures and complexity theory.
Lecture notesWill be handed out.
LiteratureIntroduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest;
Randomized Algorithms by R. Motwani und P. Raghavan;
Computational Geometry - Algorithms and Applications by M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf.
Electives
Compulsory major courses may also qualify as 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-3110-00LHuman Computer Interaction Information Restricted registration - show details
Number of participants limited to 150.
W4 credits2V + 1UO. Hilliges
AbstractThe course provides an introduction to the field of human-computer interaction, emphasising the central role of the user in system design. Through detailed case studies, students will be introduced to different methods used to analyse the user experience and shown how these can inform the design of new interfaces, systems and technologies.
ObjectiveThe goal of the course is that students should understand the principles of user-centred design and be able to apply these in practice.
ContentThe course will introduce students to various methods of analysing the user experience, showing how these can be used at different stages of system development from requirements analysis through to usability testing. Students will get experience of designing and carrying out user studies as well as analysing results. The course will also cover the basic principles of interaction design. Practical exercises related to touch and gesture-based interaction will be used to reinforce the concepts introduced in the lecture. To get students to further think beyond traditional system design, we will discuss issues related to ambient information and awareness.
151-0107-20LHigh Performance Computing for Science and Engineering (HPCSE) IW4 credits4GP. Koumoutsakos
AbstractThis course gives an introduction into algorithms and numerical methods for parallel computing for multi and many-core architectures and for applications from problems in science and engineering.
ObjectiveIntroduction to HPC for scientists and engineers
Fundamental of:
1. Parallel Computing Architectures
2. MultiCores
3. ManyCores
ContentParallel Programming models and languages (OpenMP, MPI). Parallel Performance metrics and Code Optimization. Examples based on grid and particle methods for solving Partial Differential Equations and on fundamentals of stochastic optimisation and machine learning.
Lecture noteshttp://www.cse-lab.ethz.ch/teaching/hpcse-i_hs18/
Class notes, handouts
227-0627-00LApplied Computer ArchitectureW6 credits4GA. Gunzinger
AbstractThis lecture gives an overview of the requirements and the architecture of parallel computer systems, performance, reliability and costs.
ObjectiveUnderstand the function, the design and the performance modeling of parallel computer systems.
ContentThe lecture "Applied Computer Architecture" gives technical and corporate insights in the innovative Computer Systems/Architectures (CPU, GPU, FPGA, special 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 notesScript and exercices sheets.
Prerequisites / NoticePrerequisites:
Basics of computer architecture.
227-0945-00LCell and Molecular Biology for Engineers I
This course is part I of a two-semester course.
W3 credits2GC. Frei
AbstractThe course gives an introduction into cellular and molecular biology, specifically for students with a background in engineering. The focus will be on the basic organization of eukaryotic cells, molecular mechanisms and cellular functions. Textbook knowledge will be combined with results from recent research and technological innovations in biology.
ObjectiveAfter completing this course, engineering students will be able to apply their previous training in the quantitative and physical sciences to modern biology. Students will also learn the principles how biological models are established, and how these models can be tested.
ContentLectures will include the following topics (part I and II): DNA, chromosomes, RNA, protein, genetics, gene expression, membrane structure and function, vesicular traffic, cellular communication, energy conversion, cytoskeleton, cell cycle, cellular growth, apoptosis, autophagy, cancer, development and stem cells.

In addition, 4 journal clubs will be held, where recent publications will be discussed (2 journal clubs in part I and 2 journal clubs in part II). For each journal club, students (alone or in groups of up to three students) have to write a summary and discussion of the publication. These written documents will be graded and count as 40% for the final grade.
Lecture notesScripts of all lectures will be available.
Literature"Molecular Biology of the Cell" (6th edition) by Alberts, Johnson, Lewis, Raff, Roberts, and Walter.
227-1037-00LIntroduction to Neuroinformatics Information W6 credits2V + 1UV. Mante, M. Cook, B. Grewe, G. Indiveri, D. Kiper, W. von der Behrens
AbstractThe course provides an introduction to the functional properties of neurons. Particularly the description of membrane electrical properties (action potentials, channels), neuronal anatomy, synaptic structures, and neuronal networks. Simple models of computation, learning, and behavior will be explained. Some artificial systems (robot, chip) are presented.
ObjectiveUnderstanding computation by neurons and neuronal circuits is one of the great challenges of science. Many different disciplines can contribute their tools and concepts to solving mysteries of neural computation. The goal of this introductory course is to introduce the monocultures of physics, maths, computer science, engineering, biology, psychology, and even philosophy and history, to discover the enchantments and challenges that we all face in taking on this major 21st century problem and how each discipline can contribute to discovering solutions.
ContentThis course considers the structure and function of biological neural networks at different levels. The function of neural networks lies fundamentally in their wiring and in the electro-chemical properties of nerve cell membranes. Thus, the biological structure of the nerve cell needs to be understood if biologically-realistic models are to be constructed. These simpler models are used to estimate the electrical current flow through dendritic cables and explore how a more complex geometry of neurons influences this current flow. The active properties of nerves are studied to understand both sensory transduction and the generation and transmission of nerve impulses along axons. The concept of local neuronal circuits arises in the context of the rules governing the formation of nerve connections and topographic projections within the nervous system. Communication between neurons in the network can be thought of as information flow across synapses, which can be modified by experience. We need an understanding of the action of inhibitory and excitatory neurotransmitters and neuromodulators, so that the dynamics and logic of synapses can be interpreted. Finally, the neural architectures of feedforward and recurrent networks will be discussed in the context of co-ordination, control, and integration of sensory and motor information in neural networks.
Seminar
Students may also choose seminars from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these seminars.
NumberTitleTypeECTSHoursLecturers
252-2600-05LSoftware Engineering Seminar Information Restricted registration - show details
Number of participants limited to 22.

The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 credits2SM. Vechev, D. Drachsler Cohen
AbstractThe course is an introduction to research in software engineering, based on reading and presenting high quality research papers in the field. The instructor may choose a variety of topics or one topic that is explored through several papers.
ObjectiveThe main goals of this seminar are 1) learning how to read and understand a recent research paper in computer science; and 2) learning how to present a technical topic in computer science to an audience of peers.
ContentThe technical content of this course falls into the general area of software engineering but will vary from semester to semester.
252-3300-00LSeminar on Computer Architecture Information Restricted registration - show details
The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 credits2SO. Mutlu
AbstractIn this seminar course, we will cover fundamental and cutting-edge research papers in computer architecture. The course will consist of multiple components that are aimed at improving students' technical skills in computer architecture, critical thinking and analysis on computer architecture concepts, as well as technical presentation of concepts and papers in both spoken and written forms.
ObjectiveThe main objective is to learn how to rigorously analyze and present papers and ideas computer architecture. We will have rigorous presentation and discussion of selected papers during lectures and a written report delivered by each student at the end of the semester.

This course is for those interested in computer architecture. Registered students are expected to attend every lecture and participate in the discussion.
ContentTopics will center around computer architecture. We will, for example, discuss papers on hardware security; architectural acceleration mechanisms for key applications like machine learning, graph processing and bioinformatics; memory systems; interconnects; processing inside memory; various fundamental and emerging paradigms in computer architecture; hardware/software co-design and cooperation; fault tolerance; energy efficiency; heterogeneous and parallel systems; new execution models, etc.
Lecture notesAll required materials will be posted on the course website, location to be determined.
LiteratureKey papers and articles, on both fundamentals and cutting-edge topics in computer architecture will be provided and discussed. These will be posted on the course website.
Prerequisites / NoticeDesign of Digital Circuits.
Students should have done very well in Design of Digital Circuits and show a genuine interest in Computer Architecture.
252-4230-00LAdvanced Algorithms and Data Structures Information Restricted registration - show details
Number of participants limited to 24.

As a prerequisite, students must have more than just basic knowledge on algorithms and data structures.
If you have enjoyed the class "Algorithms, Probability and Computing", this seminar is just right for you!

The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.

Takes place for the last time!
W2 credits2SP. Widmayer, S. Leucci, P. Uznanski
AbstractWe will look into modern approaches of algorithms and data structures. A few breakthrough and highly influential papers from the general area of algorithms, from the past 20 years will be selected for students to study.
ObjectiveDevelop an understanding of modern techniques and paradigms in the design of algorithms and data structures.
ContentTopics include (but are not exhausted by):

-graph algorithms,
-text algorithms,
-approximation algorithms,
-algebra in algorithms,
-streaming algorithms,
-conditional lower bounds,
-sparsification,
-randomness in algorithms,
-sampling.
Prerequisites / NoticeAlgorithms and Data Structures, or equivalent.
GESS Science in Perspective
Science in Perspective
» Recommended Science in Perspective (Type B) for D-INFK.
» see Science in Perspective: Type A: Enhancement of Reflection Capability
Language Courses
» see Science in Perspective: Language Courses ETH/UZH
Bachelor's Thesis
NumberTitleTypeECTSHoursLecturers
252-0500-00LBachelor's Thesis Information O10 credits21DProfessors
AbstractThe Bachelor thesis is the final requirement of the BSc program and is supervised by one of the D-INFK professors. The thesis encourages students to show and produce a scientifically structured work.
ObjectiveIn their BSc thesis students should demonstrate their ability to carry out independent, structured scientific work.
Prerequisites / NoticeThe supervisor of the thesis defines the task, start and end date.
A written report will be prepared on the scientific studies carried out, followed by a final presentation.
The thesis must be handed in within 6 months.