Suchergebnis: Katalogdaten im Herbstsemester 2016
Informatik Bachelor | ||||||
Bachelor-Studium (Studienreglement 2008) | ||||||
Vertiefung | ||||||
Obligatorische Fächer der Vertiefung | ||||||
Vertiefung Computer and Software Engineering | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|---|
252-0210-00L | Compiler Design Findet dieses Semester nicht statt. Die Lerneinheit findet im FS17 wieder statt. | O | 8 KP | 4V + 3U | T. Gross | |
Kurzbeschreibung | Diese Vorlesung benutzt Compiler als Beispiel für moderne Software Entwicklung. Dazu werden die Kernthemen des Compilerbaus behandelt: Syntax Analyse, Symboltabellen, Code Erzeugung. Die Vorlesung und Uebungen geben den Studierenden eine gute Gelegenheit, Muster in diversen Kontexten anzuwenden. | |||||
Lernziel | Learn principles of compiler design, gain practical experience designing and implementing a medium-scale software system. | |||||
Inhalt | This course uses compilers as example to expose modern software development techniques. The course introduces the students to the fundamentals of compiler construction. Students will implement a simple yet complete compiler for an object-oriented programming language for a realistic target machine. Students will learn the use of appropriate tools (parser generators); the implementation language is Java. Throughout the course, students learn to apply their knowledge of theory (automata, grammars, stack machines, program transformation) and well-known programming techniques (module definitions, design patterns, frameworks, software reuse) in a software project. Specific topics: Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: expression evaluation, straight line code, conditionals, loops, procedure calls, simple register allocation techniques. Storage allocation on the stack, parameter passing, runtime storage management, heaps. Special topics as time permits: introduction to global dataflow and its application to register allocation, instruction scheduling. | |||||
Literatur | Aho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition) Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997 | |||||
Voraussetzungen / Besonderes | Prerequisites: Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level. | |||||
252-0213-00L | Verteilte Systeme | O | 8 KP | 6G + 1A | F. Mattern, R. Wattenhofer | |
Kurzbeschreibung | Verteilte Kontrollalgorithmen (wechselseitiger Ausschluss, logische Uhren), Kommunikationsmodelle (RPC, synchrone/asynchrone Kommunikation, Broadcast, Ereignisse, Tupelräume), Middleware, Service- und Ressourcen-orientierte Architekturen (SOAP, REST), Sicherheit, Fehlertoleranz (Modelle, Consensus), Replikation (Primary Copy, 2PC, 3PC, Quorum-Systeme), Shared Memory (Spin Locks, Concurrency). | |||||
Lernziel | Kennenlernen von wesentlichen Technologien und Architekturen verteilter Systeme. | |||||
Inhalt | Wir geben eine Einführung in verteilte Systeme (Charakteristika und Konzepte) und diskutieren sodann verteilte Kontrollalgorithmen (Flooding-Verfahren, wechselseitiger Ausschluss, logische Uhren), Basis-Kommunikationsmodelle (Remote-Procedure-Call, Client-Server-Strukturen, synchrone und asynchrone Kommunikation), abstraktere Kommunikationsprinzipien (Broadcast, Ereignisse, Tupelräume), Namensverwaltung, Middleware und Techniken offener Systeme (z.B. REST, SOAP), Infrastruktur für spontan vernetzte Systeme (JINI), Cloud-Computing sowie Sicherheits- und Schutzmechanismen. Da partielle Systemausfälle charakteristisch für verteilte Systeme sind, werden auch Fehlermodelle und Fehlertoleranz-Algorithmen zum systematischen Umgang mit Fehlersituationen besprochen. Wir diskutieren dazu Fehlertoleranzaspekte (Modelle, Consensus, Agreement) sowie Replikationsaspekte (Primary Copy, 2PC, 3PC, Paxos, Quorum-Systeme, verteilter Speicher) und Probleme bei asynchronen Multiprozesssystemen (Shared Memory, Spin Locks, Concurrency). Parallel zur Vorlesung werden einige der Übungen in Form praktischer mehrwöchiger Aufgaben durchgeführt, wobei die Teilnehmer mit der Programmierung von mobilen Plattformen (smartphones) und nachrichtenbasierten Kommunikationsprinzipien vertraut werden. | |||||
Vertiefung Computational Science Die Lehrveranstaltung 151-0107-20L High Performance Computing for Science and Engineering I (HPCSE) im HS kann nur mit der Lehrveranstaltung 401-0686-10L High Performance Computing for Science and Engineering II (HPCSE) im FS zusammen (8 KP) als obligatorisches Fach der Vertiefung angerechnet werden. | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
252-0206-00L | Visual Computing | O | 8 KP | 4V + 3U | M. Gross, O. Hilliges | |
Kurzbeschreibung | This 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. | |||||
Lernziel | This 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. | |||||
Inhalt | Course 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. | |||||
Skript | A 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. | |||||
Literatur | Markus Gross: Computer Graphics, scriptum, 1994-2005 | |||||
151-0107-20L | High Performance Computing for Science and Engineering (HPCSE) I | W | 4 KP | 4G | M. Troyer, P. Chatzidoukas | |
Kurzbeschreibung | This 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. | |||||
Lernziel | Introduction to HPC for scientists and engineers Fundamental of: 1. Parallel Computing Architectures 2. MultiCores 3. ManyCores | |||||
Inhalt | Programming models and languages: 1. C++ threading (2 weeks) 2. OpenMP (4 weeks) 3. MPI (5 weeks) Computers and methods: 1. Hardware and architectures 2. Libraries 3. Particles: N-body solvers 4. Fields: PDEs 5. Stochastics: Monte Carlo | |||||
Skript | http://www.cse-lab.ethz.ch/index.php/teaching/42-teaching/classes/615-hpcse1 Class notes, handouts | |||||
Vertiefung Theoretische Informatik | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
252-0209-00L | Algorithms, Probability, and Computing | O | 8 KP | 4V + 2U + 1A | E. Welzl, M. Ghaffari, A. Steger, P. Widmayer | |
Kurzbeschreibung | Advanced 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). | |||||
Lernziel | Studying and understanding of fundamental advanced concepts in algorithms, data structures and complexity theory. | |||||
Skript | Will be handed out. | |||||
Literatur | Introduction 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. | |||||
Wahlfächer der Vertiefung Es können auch Lehrveranstaltungen aus dem Master-Studiengang in Informatik gewählt werden. Es liegt in der Verantwortung der Studierenden, sicherzustellen, dass sie die Voraussetzungen für diese Lehrveranstaltungen erfüllen. | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
252-3110-00L | Human Computer Interaction | W | 4 KP | 2V + 1U | O. Hilliges, M. Norrie | |
Kurzbeschreibung | The 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. | |||||
Lernziel | The goal of the course is that students should understand the principles of user-centred design and be able to apply these in practice. | |||||
Inhalt | The 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-20L | High Performance Computing for Science and Engineering (HPCSE) I | W | 4 KP | 4G | M. Troyer, P. Chatzidoukas | |
Kurzbeschreibung | This 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. | |||||
Lernziel | Introduction to HPC for scientists and engineers Fundamental of: 1. Parallel Computing Architectures 2. MultiCores 3. ManyCores | |||||
Inhalt | Programming models and languages: 1. C++ threading (2 weeks) 2. OpenMP (4 weeks) 3. MPI (5 weeks) Computers and methods: 1. Hardware and architectures 2. Libraries 3. Particles: N-body solvers 4. Fields: PDEs 5. Stochastics: Monte Carlo | |||||
Skript | http://www.cse-lab.ethz.ch/index.php/teaching/42-teaching/classes/615-hpcse1 Class notes, handouts | |||||
227-0627-00L | Angewandte Computer Architektur | W | 6 KP | 4G | A. Gunzinger | |
Kurzbeschreibung | Diese Vorlesung gibt einen Überblick über die Anforderungen und die Architektur von parallelen Computersystemen unter Berücksichtigung von Rechenleistung, Zuverlässigkeit und Kosten. | |||||
Lernziel | Arbeitsweise von parallelen Computersystemen verstehen, solche Systeme entwerfen und modellieren. | |||||
Inhalt | Die Vorlesung Angewandte Computer Architektur gibt technische und unternehmerische Einblicke in innovative Computersysteme/Architekturen (CPU, GPU, FPGA, Spezialprozessoren) und deren praxisnahe Umsetzung. Dabei werden oft die Grenzen der technologischen Möglichkeiten ausgereizt. Wie ist das Computersystem aufgebaut, das die über 1000 Magneten an der Swiss Light Source (SLS) steuert? Wie ist das hochverfügbare Alarmzentrum der SBB aufgebaut? Welche Computer Architekturen werden in Fahrerassistenzsystemen verwendet? Welche Computerarchitektur versteckt sich hinter einem professionellen digitalen Audio Mischpult? Wie können Datenmengen von 30 TB/s, wie sie bei einem Protonen-Beschleuniger entstehen, in Echtzeit verarbeitet werden? Kann die aufwändige Berechnung der Wettervorhersage auch mit GPUs erfolgen? Nach welcher Systematik können optimale Computerarchitekturen gefunden werden? Welche Faktoren sind entscheidend, um solche Projekte erfolgreich umzusetzen? | |||||
Skript | Skript und Übungsblätter. | |||||
Voraussetzungen / Besonderes | Voraussetzungen: Grundlagen der Computerarchitektur. | |||||
227-0945-00L | Cell and Molecular Biology for Engineers I This course is part I of a two-semester course. | W | 3 KP | 3G | C. Frei | |
Kurzbeschreibung | The 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. | |||||
Lernziel | After 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. | |||||
Inhalt | Lectures will include the following topics: 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, three journal clubs will be held, where one/two publictions will be discussed (part I: 1 Journal club, part II: 2 Journal Clubs). 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 25% for the final grade. | |||||
Skript | Scripts of all lectures will be available. | |||||
Literatur | "Molecular Biology of the Cell" (6th edition) by Alberts, Johnson, Lewis, Raff, Roberts, and Walter. | |||||
227-1037-00L | Introduction to Neuroinformatics | W | 6 KP | 2V + 1U | K. A. Martin, M. Cook, V. Mante, M. Pfeiffer | |
Kurzbeschreibung | The 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. | |||||
Lernziel | Understanding 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. | |||||
Inhalt | This 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. | |||||
252-4101-00L | ACM-Lab Findet dieses Semester nicht statt. | W | 4 KP | 3P | A. Steger | |
Kurzbeschreibung | Solve programming problems from previous ACM Programming Contests (see http://acm.uva.es/problemset/); learn and use efficient programming methods and algorithms. | |||||
Lernziel | The objective of this course is to learn how to solve algorithmic problems given as descriptions in natural language, similar to those posed in ACM Programming Contests. This includes appropriate problem modeling, choice of suitable (combinatorial) algorithms, and their efficient implementation using C/C++ and the STL. |
- Seite 1 von 1