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.
At least 18 ECTS need to be acquired in this category.
|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)|
|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|
|262-6150-00L||Programming for Life Sciences||W||4 credits||2P||external organisers|
|636-0015-00L||An Introduction to Probability Theory and Stochastic Processes with Applications to Biology|
Does not take place this semester.
|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)
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 Genomics|
Number 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|
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
|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
At least 12 ECTS need to be acquired in this category.
|529-0733-01L||Enzymes||W||6 credits||3G||D. Hilvert|
|Abstract||Principles of enzymatic catalysis, enzyme kinetics, mechanisms of enzyme-catalyzed reactions (group transfer reactions, carbon-carbon bond formation, eliminations, isomerisations and rearrangements), cofactor chemistry, enzymes in organic synthesis and the biosynthesis of natural products, catalytic antibodies.|
|Objective||Overview of enzymes, enzyme-catalyzed reactions and metabolic processes.|
|Content||Principles of enzymatic catalysis, enzyme kinetics, mechanisms of enzyme catalyzed reactions (group transfer reactions, carbon-carbon bond formation, eliminations, isomerisations and rearrangements), cofactor chemistry, enzymes in organic synthesis and the biosynthesis of natural products, catalytic antibodies.|
|Lecture notes||A script will not be handed out.|
T. Bugg, An Introduction to Enzyme and Coenzyme Chemistry, Blackwell Science Ltd., Oxford, 1997.
In addition, citations from the original literature relevant to the individual lectures will be assigned weekly.
|551-0309-00L||Concepts in Modern Genetics||W||6 credits||4V||Y. Barral, D. Bopp, A. Hajnal, M. Stoffel, O. Voinnet|
|Abstract||Concepts of modern genetics and genomics, including principles of classical genetics; yeast genetics; gene mapping; forward and reverse genetics; structure and function of eukaryotic chromosomes; molecular mechanisms and regulation of transcription, replication, DNA-repair and recombination; analysis of developmental processes; epigenetics and RNA interference.|
|Objective||This course focuses on the concepts of classical and modern genetics and genomics.|
|Content||The topics include principles of classical genetics; yeast genetics; gene mapping; forward and reverse genetics; structure and function of eukaryotic chromosomes; molecular mechanisms and regulation of transcription, replication, DNA-repair and recombination; analysis of developmental processes; epigenetics and RNA interference.|
|Lecture notes||Scripts and additional material will be provided during the semester.|
|551-0313-00L||Microbiology (Part I)||W||3 credits||2V||W.‑D. Hardt, L. Eberl, H.‑M. Fischer, J. Piel, M. Pilhofer|
|Abstract||Advanced lecture class providing a broad overview on bacterial cell structure, genetics, metabolism, symbiosis and pathogenesis.|
|Objective||This concept class will be based on common concepts and introduce to the enormous diversity among bacteria and archaea. It will cover the current research on bacterial cell structure, genetics, metabolism, symbiosis and pathogenesis.|
|Content||Advanced class covering the state of the research in bacterial cell structure, genetics, metabolism, symbiosis and pathogenesis.|
|Lecture notes||Updated handouts will be provided during the class.|
|Literature||Current literature references will be provided during the lectures.|
|Prerequisites / Notice||English|
The lecture "Grundlagen der Biologie II: Mikrobiologie" is the basis for this advanced lecture.
|551-0317-00L||Immunology I||W||3 credits||2V||M. Kopf, A. Oxenius|
|Abstract||Introduction into structural and functional aspects of the immune system.|
Basic knowledge of the mechanisms and the regulation of an immune response.
|Objective||Introduction into structural and functional aspects of the immune system.|
Basic knowledge of the mechanisms and the regulation of an immune response.
|Content||- Introduction and historical background|
- Innate and adaptive immunity, Cells and organs of the immune system
- B cells and antibodies
- Generation of diversity
- Antigen presentation and Major Histoincompatibility (MHC) antigens
- Thymus and T cell selection
- Cytotoxic T cells and NK cells
- Th1 and Th2 cells, regulatory T cells
- Vaccines, immune-therapeutic interventions
|Lecture notes||Electronic access to the documentation will be provided. The link can be found at "Lernmaterialien"|
|Literature||- Kuby, Immunology, 7th edition, Freemen + Co., New York, 2009|
|Prerequisites / Notice||Immunology I (WS) and Immunology II (SS) will be examined as one learning entity in a "Sessionsprüfung".|
|636-0105-00L||Introduction to Biological Computers|
Attention: This course was offered in previous semesters with the number: 636-0011-00L "Introduction to Biological Computers". Students that already passed course 636-0011-00L cannot receive credits for course 636-0105-00L.
|W||4 credits||3G||Y. Benenson|
|Abstract||Biological computers are man-made biological networks that interrogate and control cells and organisms in which they operate. Their key features, inspired by computer science, are programmability, modularity, and versatility. The course will show how to rationally design, implement and test biological computers using molecular engineering, DNA nanothechnology and synthetic biology.|
|Objective||The course has the following objectives:|
* Familiarize students with parallels between theories in computer science and engineering and information-processing in live cells and organisms
* Introduce basic theories of computation
* Introduce approaches to creating novel biological computing systems in non-living environment and in living cells including bacteria, yeast and mammalian/human cells.
The covered approaches will include
- Nucleic acids engineering
- DNA and RNA nanotechnology
- Synthetic biology and gene circuit engineering
- High-throughput genome engineering and gene circuit assembly
* Equip the students with computer-aided design (CAD) tools for biocomputing circuit engineering. A number of tutorials will introduce MATLAB SimBiology toolbox for circuit design and simulations
* Foster creativity, research and communication skills through semester-long "Design challenge" assignment in the broad field of biological computing and biological circuit engineering.
|Content||Note: the exact subjects can change, the details below should only serve for general orientation|
Lecture 1. Introduction: what is molecular computation (part I)?
* What is computing in general?
* What is computing in the biological context (examples from development, chemotaxis and gene regulation)
* The difference between natural computing and engineered biocomputing systems
Lecture 2: What is molecular computation (part II) + State machines
* Detailed definition of an engineered biocomputing system
* Basics of characterization
* Design challenge presentation
* Theories of computation: state machines (finite automata and Turing machines)
Lecture 3: Additional models of computation
* Logic circuits
* Analog circuits
* RAM machines
Basic approaches to computer science notions relevant to molecular computation. (i) State machines; (ii) Boolean networks; (iii) analog computing; (iv) distributed computing. Design Challenge presentation.
Lecture 4. Classical DNA computing
* Adleman experiment
* Maximal clique problem
* SAT problem
Lecture 5: Molecular State machines through self-assembly
* Tiling implementation of state machine
* DNA-based tiling system
* DNA/RNA origami as a spin-off of self-assembling state machines
Lecture 6: Molecular State machines that use DNA-encoded tapes
* Early theoretical work
* Tape extension system
* DNA and enzyme-based finite automata for diagnostic applications
Lecture 7: Introduction to cell-based logic and analog circuits
* Computing with (bio)chemical reaction networks
* Tuning computation with ultrasensitivity and cooperativity
* Specific examples
Lecture 8: Transcriptional circuits I
* Introducing transcription-based circuits
* General features and considerations
* Guidelines for large circuit construction
Lecture 9: Transcriptional circuits II
* Large-scale distributed logic circuits in bacteria
* Toward large-scale circuits in mammalian cells
Lecture 10: RNA circuits I
* General principles of RNA-centered circuit design
* Riboswitches and sRNA regulation in bacteria
* Riboswitches in yeast and mammalian cells
* General approach to RNAi-based computing
Lecture 11: RNA circuits II
* RNAi logic circuits
* RNAi-based cell type classifiers
* Hybrid transcriptional/posttranscriptional approaches
Lecture 12: In vitro DNA-based logic circuits
* DNAzyme circuits playing tic-tac-toe against human opponents
* DNA brain
Lecture 13: Advanced topics
* Engineered cellular memory
* Counting and sequential logic
* The role of evolution
* Fail-safe design principles
Lecture 14: Design challenge presentation
|Lecture notes||Lecture notes will be available online|
|Literature||As a way of general introduction, the following two review papers could be useful:|
Benenson, Y. RNA-based computation in live cells. Current Opinion in Biotechnology 2009, 20:471:478
Benenson, Y. Biocomputers: from test tubes to live cells. Molecular Biosystems 2009, 5:675:685
Benenson, Y. Biomolecular computing systems: principles, progress and potential (Review). Nature Reviews Genetics 13, 445-468 (2012).
|Prerequisites / Notice||Basic knowledge of molecular biology is assumed.|
|636-0510-00L||Proteomics and Drug Discovery Research|
Does not take place this semester.
|W||2 credits||2V||external organisers|
|636-0511-00L||Developmental Neuroscience (HS)|
Does not take place this semester.
|W||2 credits||2V||external organisers|
|636-0515-00L||Molecular Medicine I||W||2 credits||2V||external organisers|
|262-6170-00L||Molecular Mechanisms of Development|
Does not take place this semester.
|W||2 credits||2V||external organisers|
|262-6180-00L||Molecular Control of Vertebrate Development and Organogenesis||W||2 credits||2V||external organisers|
|262-5130-00L||Evolutionary Medicine (University of Zurich)|
No enrolment to this course at ETH Zurich. Book the corresponding module directly at UZH.
UZH Module Code: BIO201
Mind the enrolment deadlines at UZH:
|W||6 credits||5G||University lecturers|
- Page 2 of 5 All