# Search result: Catalogue data in Autumn Semester 2018

Computational Biology and Bioinformatics Master More informations at: https://www.cbb.ethz.ch/ | ||||||

Master Studies (Programme Regulations 2017) | ||||||

Advanced Courses A total of 30 ECTS needs to be acquired in the Advanced Courses category. Thereof 18 ECTS in the Theory and 12 ECTS in the Biology category. | ||||||

Theory At least 18 ECTS need to be acquired in this category. | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|

401-0663-00L | Numerical Methods for CSE | W | 8 credits | 4V + 2U + 1P | R. Alaifari | |

Abstract | The 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 | |||||

Content | 1. 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 notes | Lecture 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/ | |||||

Literature | U. 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 / Notice | The 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. | |||||

263-5210-00L | Probabilistic Artificial Intelligence | W | 4 credits | 2V + 1U | A. Krause | |

Abstract | This course introduces core modeling techniques and algorithms from statistics, optimization, planning, and control and study applications in areas such as sensor networks, robotics, and the Internet. | |||||

Objective | How can we build systems that perform well in uncertain environments and unforeseen situations? How can we develop systems that exhibit "intelligent" behavior, without prescribing explicit rules? How can we build systems that learn from experience in order to improve their performance? We will study core modeling techniques and algorithms from statistics, optimization, planning, and control and study applications in areas such as sensor networks, robotics, and the Internet. The course is designed for upper-level undergraduate and graduate students. | |||||

Content | Topics covered: - Search (BFS, DFS, A*), constraint satisfaction and optimization - Tutorial in logic (propositional, first-order) - Probability - Bayesian Networks (models, exact and approximative inference, learning) - Temporal models (Hidden Markov Models, Dynamic Bayesian Networks) - Probabilistic palnning (MDPs, POMPDPs) - Reinforcement learning - Combining logic and probability | |||||

Prerequisites / Notice | Solid basic knowledge in statistics, algorithms and programming | |||||

401-0647-00L | Introduction to Mathematical Optimization | W | 5 credits | 2V + 1U | D. Adjiashvili | |

Abstract | Introduction to basic techniques and problems in mathematical optimization, and their applications to a variety of problems in engineering. | |||||

Objective | The goal of the course is to obtain a good understanding of some of the most fundamental mathematical optimization techniques used to solve linear programs and basic combinatorial optimization problems. The students will also practice applying the learned models to problems in engineering. | |||||

Content | Topics covered in this course include: - Linear programming (simplex method, duality theory, shadow prices, ...). - Basic combinatorial optimization problems (spanning trees, shortest paths, network flows, ...). - Modelling with mathematical optimization: applications of mathematical programming in engineering. | |||||

Literature | Information about relevant literature will be given in the lecture. | |||||

Prerequisites / Notice | This course is meant for students who did not already attend the course "Mathematical Optimization", which is a more advance lecture covering similar topics. Compared to "Mathematical Optimization", this course has a stronger focus on modeling and applications. | |||||

227-0225-00L | Linear System Theory | W | 6 credits | 5G | M. Kamgarpour | |

Abstract | The class is intended to provide a comprehensive overview of the theory of linear dynamical systems, stability analysis, and their use in control and estimation. The focus is on the mathematics behind the physical properties of these systems and on understanding and constructing proofs of properties of linear control systems. | |||||

Objective | Students should be able to apply the fundamental results in linear system theory to analyze and control linear dynamical systems. | |||||

Content | - Proof techniques and practices. - Linear spaces, normed linear spaces and Hilbert spaces. - Ordinary differential equations, existence and uniqueness of solutions. - Continuous and discrete-time, time-varying linear systems. Time domain solutions. Time invariant systems treated as a special case. - Controllability and observability, duality. Time invariant systems treated as a special case. - Stability and stabilization, observers, state and output feedback, separation principle. | |||||

Lecture notes | Available on the course Moodle platform. | |||||

Prerequisites / Notice | Sufficient mathematical maturity with special focus on logic, linear algebra, analysis. | |||||

151-0575-01L | Signals and Systems | W | 4 credits | 2V + 2U | A. Carron, G. Ducard | |

Abstract | Signals 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. | |||||

Objective | Master the basics of signals and systems. Apply this knowledge to problems in the homework assignments and programming exercise. | |||||

Content | Discrete-time signals and systems. Fourier- and z-Transforms. Frequency domain characterization of signals and systems. System identification. Time series analysis. Filter design. | |||||

Lecture notes | Lecture notes available on course website. | |||||

Prerequisites / Notice | Control Systems I is helpful but not required. | |||||

529-0004-01L | Computer Simulation in Chemistry, Biology and Physics | W | 6 credits | 4G | P. H. Hünenberger | |

Abstract | Molecular models, Force fields, Boundary conditions, Electrostatic interactions, Molecular dynamics, Analysis of trajectories, Quantum-mechanical simulation, Structure refinement, Application to real systems. Exercises: Analysis of papers on computer simulation, Molecular simulation in practice, Validation of molecular dynamics simulation. | |||||

Objective | Introduction to computer simulation of (bio)molecular systems, development of skills to carry out and interpret computer simulations of biomolecular systems. | |||||

Content | Molecular models, Force fields, Spatial boundary conditions, Calculation of Coulomb forces, Molecular dynamics, Analysis of trajectories, Quantum-mechanical simulation, Structure refinement, Application to real systems. Exercises: Analysis of papers on computer simulation, Molecular simulation in practice, Validation of molecular dynamics simulation. | |||||

Lecture notes | Available (copies of powerpoint slides distributed before each lecture) | |||||

Literature | See: www.csms.ethz.ch/education/CSCBP | |||||

Prerequisites / Notice | Since the exercises on the computer do convey and test essentially different skills as those being conveyed during the lectures and tested at the oral exam, the results of the exercises are taken into account when evaluating the results of the exam (learning component, possible bonus of up to 0.25 points on the exam mark). For more information about the lecture: www.csms.ethz.ch/education/CSCBP | |||||

252-0237-00L | Concepts of Object-Oriented Programming | W | 6 credits | 3V + 2U | P. Müller | |

Abstract | Course that focuses on an in-depth understanding of object-oriented programming and compares designs of object-oriented programming languages. Topics include different flavors of type systems, inheritance models, encapsulation in the presence of aliasing, object and class initialization, program correctness, reflection | |||||

Objective | After this course, students will: Have a deep understanding of advanced concepts of object-oriented programming and their support through various language features. Be able to understand language concepts on a semantic level and be able to compare and evaluate language designs. Be able to learn new languages more rapidly. Be aware of many subtle problems of object-oriented programming and know how to avoid them. | |||||

Content | The main goal of this course is to convey a deep understanding of the key concepts of sequential object-oriented programming and their support in different programming languages. This is achieved by studying how important challenges are addressed through language features and programming idioms. In particular, the course discusses alternative language designs by contrasting solutions in languages such as C++, C#, Eiffel, Java, Python, and Scala. The course also introduces novel ideas from research languages that may influence the design of future mainstream languages. The topics discussed in the course include among others: The pros and cons of different flavors of type systems (for instance, static vs. dynamic typing, nominal vs. structural, syntactic vs. behavioral typing) The key problems of single and multiple inheritance and how different languages address them Generic type systems, in particular, Java generics, C# generics, and C++ templates The situations in which object-oriented programming does not provide encapsulation, and how to avoid them The pitfalls of object initialization, exemplified by a research type system that prevents null pointer dereferencing How to maintain the consistency of data structures | |||||

Literature | Will be announced in the lecture. | |||||

Prerequisites / Notice | Prerequisites: Mastering at least one object-oriented programming language (this course will NOT provide an introduction to object-oriented programming); programming experience | |||||

262-6140-00L | Random Processes: Theory and Applications from Physics to Finance | W | 4 credits | 3G | external organisers | |

Abstract | ||||||

Objective | ||||||

262-6150-00L | Programming for Life Sciences | W | 4 credits | 2P | external organisers | |

Abstract | ||||||

Objective | ||||||

636-0015-00L | An Introduction to Probability Theory and Stochastic Processes with Applications to BiologyDoes not take place this semester. | W | 4 credits | 3G | ||

Abstract | Biology is becoming increasingly quantitative and mathematical modeling is now an integral part of biological research. In many biological processes, ranging from gene-expression to evolution, randomness plays an important role that can only be understood using stochastic models. This course will provide the students with a theoretical foundation for developing such stochastic models and analyzing | |||||

Objective | The aim of this course is to introduce certain topics in Probability Theory and Stochastic Processes that have been specifically selected with an eye on biological applications. This course will teach students the tools and techniques for modeling and analyzing random phenomena. Throughout the course, several biological applications will be discussed and students will be encouraged to do additional reading based on their research interests. | |||||

Content | The first half of the course will cover the basics of Probability Theory while the second half will delve into the theory of Stochastic Processes. Below is the list of topics that will be covered in the course. 1. The mathematical representation of random phenomena: The probability space, properties of the probability measure, Independence of events, Conditional probability and Bayes formula, applications to parameter inference. 2. Random Variables and their distributions: Discrete and continuous random variables, Expectation and Variance, Important Examples of Random Variables, Independent random variables and their sums, Conditional Distribution and Conditional Expectation, Markov and Chebyshev inequalities. Law of total variation, estimation of intrinsic and extrinsic noise in biological systems. 3. Convergence of Random Variables: Modes of convergence, Laws of large numbers, the central limit theorem, the law of the iterated logarithm, Applications to the analysis of cell population data. 4. Generating functions and their applications: Definition and important examples, Random Walks, Branching processes, Coalescent processes, Modeling epidemic processes and stem-cell differentiation. 5. Markov chains: Transition functions and related computations, Classification of states and classification of chains. Concepts of recurrence, transience, irreducibility and periodicity, Stationary distributions, Continuous time Markov Chain model of a biochemical reaction network. 6. Stochastic Processes: Existence and Construction, Stationary Processes, Renewal Processes, The Wiener Process, The Ergodic Theorem, Leveraging experimental techniques in Biology. 7. Introduction to the theory of Martingales: Basic definitions, Martingale differences and Hoeffding's inequality, Martingale Convergence Theorem, Crossings and convergence, Stopping times and the optional sampling theorem, Doob's maximal inequalities, Applications to the analysis of stochastic biochemical reaction networks. | |||||

Literature | While no specific textbook will be followed, much of the material and homework problems will be taken from the following books: An Introduction to Stochastic Processes with Applications to Biology, Linda Allen, Second Edition, Chapman and Hall, 2010. Probability And Random Processes, Grimmett and Stirzaker, Third Edition, Oxford University Press, 2001. | |||||

Prerequisites / Notice | The course will involve a healthy balance between mathematical rigor (theorem proving) and biological applications. Students are expected to have a good grasp of Linear Algebra and Multivariable Calculus. Basic knowledge of set theory will also be needed. Students should be prepared for abstract reasoning. | |||||

263-3010-00L | Big Data | W | 8 credits | 3V + 2U + 2A | G. Fourny | |

Abstract | The key challenge of the information society is to turn data into information, information into knowledge, knowledge into value. This has become increasingly complex. Data comes in larger volumes, diverse shapes, from different sources. Data is more heterogeneous and less structured than forty years ago. Nevertheless, it still needs to be processed fast, with support for complex operations. | |||||

Objective | This combination of requirements, together with the technologies that have emerged in order to address them, is typically referred to as "Big Data." This revolution has led to a completely new way to do business, e.g., develop new products and business models, but also to do science -- which is sometimes referred to as data-driven science or the "fourth paradigm". Unfortunately, the quantity of data produced and available -- now in the Zettabyte range (that's 21 zeros) per year -- keeps growing faster than our ability to process it. Hence, new architectures and approaches for processing it were and are still needed. Harnessing them must involve a deep understanding of data not only in the large, but also in the small. The field of databases evolves at a fast pace. In order to be prepared, to the extent possible, to the (r)evolutions that will take place in the next few decades, the emphasis of the lecture will be on the paradigms and core design ideas, while today's technologies will serve as supporting illustrations thereof. After visiting this lecture, you should have gained an overview and understanding of the Big Data landscape, which is the basis on which one can make informed decisions, i.e., pick and orchestrate the relevant technologies together for addressing each business use case efficiently and consistently. | |||||

Content | This course gives an overview of database technologies and of the most important database design principles that lay the foundations of the Big Data universe. The material is organized along three axes: data in the large, data in the small, data in the very small. A broad range of aspects is covered with a focus on how they fit all together in the big picture of the Big Data ecosystem. - physical storage: distributed file systems (HDFS), object storage(S3), key-value stores - logical storage: document stores (MongoDB), column stores (HBase), graph databases (neo4j), data warehouses (ROLAP) - data formats and syntaxes (XML, JSON, RDF, Turtle, CSV, XBRL, YAML, protocol buffers, Avro) - data shapes and models (tables, trees, graphs, cubes) - type systems and schemas: atomic types, structured types (arrays, maps), set-based type systems (?, *, +) - an overview of functional, declarative programming languages across data shapes (SQL, XQuery, JSONiq, Cypher, MDX) - the most important query paradigms (selection, projection, joining, grouping, ordering, windowing) - paradigms for parallel processing, two-stage (MapReduce) and DAG-based (Spark) - resource management (YARN) - what a data center is made of and why it matters (racks, nodes, ...) - underlying architectures (internal machinery of HDFS, HBase, Spark, neo4j) - optimization techniques (functional and declarative paradigms, query plans, rewrites, indexing) - applications. Large scale analytics and machine learning are outside of the scope of this course. | |||||

Literature | Papers from scientific conferences and journals. References will be given as part of the course material during the semester. | |||||

Prerequisites / Notice | This course, in the autumn semester, is only intended for: - Computer Science students - Data Science students - CBB students with a Computer Science background Mobility students in CS are also welcome and encouraged to attend. If you experience any issue while registering, please contact the study administration and you will be gladly added. Another version of this course will be offered in Spring for students of other departments. However, if you would like to already start learning about databases now, a course worth taking as a preparation/good prequel to the Spring edition of Big Data is the "Information Systems for Engineers" course, offered this Fall for other departments as well, and introducing relational databases and SQL. | |||||

636-0117-00L | Mathematical Modelling for Bioengineering and Systems Biology | W | 4 credits | 3G | D. Iber | |

Abstract | Basic concepts and mathematical tools to explore biochemical reaction kinetics and biological network dynamics. | |||||

Objective | The course enables students to formulate, analyse, and simulate mathematical models of biochemical networks. To this end, the course covers basic mathematical concepts and tools to explore biochemical reaction dynamics as well as basic concepts from dynamical systems theory. The exercises serve to deepen the understanding of the presented concepts and the mathematical methods, and to train students to numerically solve and simulate mathematical models. | |||||

Content | Biochemical Reaction Modelling Basic Concepts from Linear Algebra & Differential Equations Mathematical Methods: Linear Stability Analysis, Phase Plane Analysis, Bifurcation Analysis Dynamical Systems: Switches, Oscillators, Adaptation Signal Propagation in Signalling Networks Parameter Estimation | |||||

261-5112-00L | Advanced Approaches for Population Scale Compressive GenomicsNumber of participants limited to 30. | W | 3 credits | 2G | A. Kahles | |

Abstract | Research in Biology and Medicine have been transformed into disciplines of applied data science over the past years. Not only size and inherentcomplexity of the data but also requirements on data privacy and complexity of search and access pose a wealth of new research questions. | |||||

Objective | This interactive course will explore the latest research on algorithms and data structures for population scale genomics applications and give insights into both the technical basis as well as the domain questions motivating it. | |||||

Content | Over the duration of the semester, the course will cover three main topics. Each of the topics will consist of 70-80% lecture content and 20-30% seminar content. 1) Algorithms and data structures for text and graph compression. Motivated through applications in compressive genomics, the course will cover succinct indexing schemes for strings, trees and general graphs, compression schemes for binary matrices as well as the efficient representation of haplotypes and genomic variants. 2) Stochastic data structures and algorithms for approximate representation of strings and graphs as well as sets in general. This includes winnowing schemes and minimizers, sketching techniques, (minimal perfect) hashing and approximate membership query data structures. 3) Data structures supporting encryption and data privacy. As an extension to data structures discussed in the earlier topics, this will include secure indexing using homomorphic encryption as well as design for secure storage and distribution of data. | |||||

252-0834-00L | Information Systems for Engineers | W | 4 credits | 2V + 1U | G. Fourny | |

Abstract | This course provides the basics of relational databases from the perspective of the user. We will discover why tables are so incredibly powerful to express relations, learn the SQL query language, and how to make the most of it. The course also covers support for data cubes (analytics). After this course, you will be ready for Big Data for Engineers. | |||||

Objective | After visiting this course, you will be capable to: 1. Explain, in the big picture, how a relational database works and what it can do in your own words. 2. Explain the relational data model (tables, rows, attributes, primary keys, foreign keys), formally and informally, including the relational algebra operators (select, project, rename, all kinds of joins, division, cartesian product, union, intersection, etc). 3. Perform non-trivial reading SQL queries on existing relational databases, as well as insert new data, update and delete existing data. 4. Design new schemas to store data in accordance to the real world's constraints, such as relationship cardinality 5. Explain what bad design is and why it matters. 6. Adapt and improve an existing schema to make it more robust against anomalies, thanks to a very good theoretical knowledge of what is called "normal forms". 7. Understand how indices work (hash indices, B-trees), how they are implemented, and how to use them to make queries faster. 8. Access an existing relational database from a host language such as Java, using bridges such as JDBC. 9. Explain what data independence is all about and didn't age a bit since the 1970s. 10. Explain, in the big picture, how a relational database is physically implemented. 11. Know and deal with the natural syntax for relational data, CSV. 12. Explain the data cube model including slicing and dicing. 13. Store data cubes in a relational database. 14. Map cube queries to SQL. 15. Slice and dice cubes in a UI. And of course, you will think that tables are the most wonderful object in the world. | |||||

Content | Using a relational database ================= 1. Introduction 2. The relational model 3. Data definition with SQL 4. The relational algebra 5. Queries with SQL Taking a relational database to the next level ================= 6. Database design theory 7. Databases and host languages 8. Databases and host languages 9. Indices and optimization 10. Database architecture and storage Analytics on top of a relational database ================= 12. Data cubes Outlook ================= 13. Outlook | |||||

Literature | - Lecture material (slides). - Book: "Database Systems: The Complete Book", H. Garcia-Molina, J.D. Ullman, J. Widom (It is not required to buy the book, as the library has it) | |||||

Prerequisites / Notice | For non-CS/DS students only, BSc and MSc Elementary knowledge of set theory and logics Knowledge as well as basic experience with a programming language such as Pascal, C, C++, Java, Haskell, Python |

- Page 1 of 1