Search result: Catalogue data in Autumn Semester 2018

Computer Science Bachelor Information
ONLY for Programme Regulations 2008
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 notesLink
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.
  •  Page  1  of  1