Suchergebnis: Katalogdaten im Herbstsemester 2020

Informatik Lehrdiplom Information
Weitere Informationen: Link
Fachwiss. Vertiefung mit pädagogischem Fokus und weitere Fachdidaktik
NummerTitelTypECTSUmfangDozierende
263-2800-00LDesign of Parallel and High-Performance Computing Information W9 KP3V + 2U + 3AT. Hoefler, M. Püschel
KurzbeschreibungAdvanced topics in parallel and high-performance computing.
LernzielUnderstand concurrency paradigms and models from a higher perspective and acquire skills for designing, structuring and developing possibly large parallel high-performance software systems. Become able to distinguish parallelism in problem space and in machine space. Become familiar with important technical concepts and with concurrency folklore.
InhaltWe will cover all aspects of high-performance computing ranging from architecture through programming up to algorithms. We will start with a discussion of caches and cache coherence in practical computer systems. We will dive into parallel programming concepts such as memory models, locks, and lock-free. We will cover performance modeling and parallel design principles as well as basic parallel algorithms.
Voraussetzungen / BesonderesThis class is intended for the Computer Science Masters curriculum. Students must have basic knowledge in programming in C as well as computer science theory. Students should be familiar with the material covered in the ETH computer science first-year courses "Parallele Programmierung (parallel programming)" and "Algorithmen und Datenstrukturen (algorithm and data structures)" or equivalent courses.
252-0417-00LRandomized Algorithms and Probabilistic Methods
Findet dieses Semester nicht statt.
W10 KP3V + 2U + 4AA. Steger
KurzbeschreibungLas Vegas & Monte Carlo algorithms; inequalities of Markov, Chebyshev, Chernoff; negative correlation; Markov chains: convergence, rapidly mixing; generating functions; Examples include: min cut, median, balls and bins, routing in hypercubes, 3SAT, card shuffling, random walks
LernzielAfter this course students will know fundamental techniques from probabilistic combinatorics for designing randomized algorithms and will be able to apply them to solve typical problems in these areas.
InhaltRandomized Algorithms are algorithms that "flip coins" to take certain decisions. This concept extends the classical model of deterministic algorithms and has become very popular and useful within the last twenty years. In many cases, randomized algorithms are faster, simpler or just more elegant than deterministic ones. In the course, we will discuss basic principles and techniques and derive from them a number of randomized methods for problems in different areas.
SkriptYes.
Literatur- Randomized Algorithms, Rajeev Motwani and Prabhakar Raghavan, Cambridge University Press (1995)
- Probability and Computing, Michael Mitzenmacher and Eli Upfal, Cambridge University Press (2005)
252-0341-01LInformation Retrieval Information
Findet dieses Semester nicht statt.
W4 KP2V + 1UNoch nicht bekannt
KurzbeschreibungThis course gives an introduction to information retrieval with a focus on text documents and unstructured data.

Main topics comprise document modelling, various retrieval techniques, indexing techniques, query frameworks, optimization, evaluation and feedback.
LernzielWe keep accumulating data at an unprecedented pace, much faster than we can process it. While Big Data techniques contribute solutions accounting for structured or semi-structured shapes such as tables, trees, graphs and cubes, the study of unstructured data is a field of its own: Information Retrieval.

After this course, you will have in-depth understanding of broadly established techniques in order to model, index and query unstructured data (aka, text), including the vector space model, boolean queries, terms, posting lists, dealing with errors and imprecision.

You will know how to make queries faster and how to make queries work on very large datasets. You will be capable of evaluating the quality of an information retrieval engine.

Finally, you will also have knowledge about alternate models (structured data, probabilistic retrieval, language models) as well as basic search algorithms on the web such as Google's PageRank.
Inhalt1. Introduction

2. Boolean retrieval: the basics of how to index and query unstructured data.

3. Term vocabulary: pre-processing the data prior to indexing: building the term vocabulary, posting lists.

4. Tolerant retrieval: dealing with spelling errors: tolerant retrieval.

5. Index construction: scaling up to large datasets.

6. Index compression: how to improve performance by compressing the index in various ways.

7. Ranked retrieval: how to ranking results with scores and the vector space model

8. Scoring in a bigger picture: taking ranked retrieval to the next level with various improvements, including inexact retrieval

9. Probabilistic information retrieval: how to leverage Bayesian techniques to build an alternate, probabilistic model for information retrieval

10. Language models: another alternate model based on languages, automata and document generation

11. Evaluation: precision, recall and various other measurements of quality

12. Web search: PageRank

13. Wrap-up.

The lecture structure will follow the pedagogical approach of the book (see material).

The field of information retrieval also encompasses machine learning aspects. However, we will make a conscious effort to limit overlaps, and be complementary with, the Introduction to Machine Learning lecture.
LiteraturC. D. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval, Cambridge University Press.
Voraussetzungen / BesonderesPrior knowledge in elementary set theory, logics, linear algebra, data structures, abstract data types, algorithms, and probability theory (at the Bachelor's level) is required, as well as programming skills (we will use Python).
Wahlpflicht
Weitere Lehrangebote aus dem Bereich Erziehungswissenschaften sind unter "Studiengang: Ausbildung in Erziehungswissenschaften für Lehrdiplom und DZ" aufgeführt.
NummerTitelTypECTSUmfangDozierende
» siehe Wahlpflicht Lehrdiplom für Maturitätsschulen
853-0061-00LEinführung in die CybersicherheitspolitikW3 KP2GM. Dunn Cavelty
KurzbeschreibungDie Vorlesung gibt eine Einführung in die globale Politik der Cyber-Sicherheit. Im Zentrum steht die Auseinandersetzung mit der strategischen Nutzung des Cyberraums durch staatliche und nichtstaatliche Akteure (Bedrohungen) und unterschiedliche Antworten auf diese neuen Herausforderungen (Gegenmassnahmen).
LernzielDie Teilnehmer/innen lernen Vor- und Nachteile des Cyberspace als Domäne für strategisch-militärische Aktionen einzuschätzen. Sie verstehen die technischen Grundlagen von Cyberoperationen und wissen, wie Technik und Politik in diesem Bereich miteinander verzahnt sind. Sie verstehen die Gefahrenlage und die Beweggründe von Staaten, im Cyberspace offensiv und defensiv tätig zu werden ebenso gut wie die Konsequenzen für die internationale Politik.
InhaltWir beginnen mit einer Übersicht über die Cybersicherheitspolitik von 1980 bis heute und schauen uns an, welche Ereignisse und Akteure zentral für die Entwicklung des Themas zu einem sicherheitspolitischen Dauerbrenner waren. Nachdem wir uns mit den technischen Grundlagen vertraut gemacht haben, schauen wir verschiedene Gewaltphänomene und Trends in Cyberkonflikten an (Technik im sozialen und politischen Gebrauch). Danach wenden wir uns den Abwehrstrategien zu: Nationale Cybersicherheitsstrategien werden verglichen, internationale Normen untersucht und Konzepte wie Cybermacht und Cyberabschreckung kritisch hinterfragt (Technik im sozialen und poltischen Regulierungskontext).
SkriptZu Beginn des Semesters wird ein Skript abgegeben, welches die Literatur kommentiert und die wichtigsten Themen zusammenfasst.
LiteraturLiteratur für jede Sitzung wird auf Moodle zur Verfügung gestellt.
Voraussetzungen / BesonderesDie Vorlesung wird durch eine Moodle-Plattform unterstützt.
Bei Fragen zur Lehrveranstaltung wenden Sie sich bitte an Brita Achberger; Link.
Auflagenfächer (für Studierende mit ETH-Master in Phys/MATH/RW)
Teil 1
NummerTitelTypECTSUmfangDozierende
252-0057-00LTheoretische Informatik Information O7 KP4V + 2UJ. Hromkovic, H.‑J. Böckenhauer
KurzbeschreibungKonzepte zur Beantwortung grundlegender Fragen wie: a) Was ist völlig automatisiert machbar (algorithmisch lösbar) b) Wie kann man die Schwierigkeit von Aufgaben (Problemen) messen? c) Was ist Zufall und wie kann er nützlich sein? d) Was ist Nichtdeterminisus und welche Rolle spielt er in der Informatik? e) Wie kann man unendliche Objekte durch Automaten und Grammatiken endlich darstellen?
LernzielVermittlung der grundlegenden Konzepte der Informatik in ihrer geschichtlichen Entwicklung
InhaltDie Veranstaltung ist eine Einführung in die Theoretische Informatik, die die grundlegenden Konzepte und Methoden der Informatik in ihrem geschichtlichen Zusammenhang vorstellt. Wir präsentieren Informatik als eine interdisziplinäre Wissenschaft, die auf einer Seite die Grenzen zwischen Möglichem und Unmöglichem und die quantitativen Gesetze der Informationsverarbeitung erforscht und auf der anderen Seite Systeme entwirft, analysiert, verifiziert und implementiert.

Die Hauptthemen der Vorlesung sind:

- Alphabete, Wörter, Sprachen, Messung der Informationsgehalte von Wörtern, Darstellung von algorithmischen Aufgaben
- endliche Automaten, reguläre und kontextfreie Grammatiken
- Turingmaschinen und Berechenbarkeit
- Komplexitätstheorie und NP-Vollständigkeit
- Algorithmenentwurf für schwere Probleme
SkriptDie Vorlesung ist detailliert durch das Lehrbuch "Theoretische Informatik" bedeckt.
LiteraturBasisliteratur:
1. J. Hromkovic: Theoretische Informatik. 5. Auflage, Springer Vieweg 2014.

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

Weiterführende Literatur:
3. M. Sipser: Introduction to the Theory of Computation, PWS Publ. Comp.1997
4. J.E. Hopcroft, R. Motwani, J.D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie.
Pearson 2002.
5. I. Wegener: Theoretische Informatik. Teubner
Weitere Übungen und Beispiele:
6. A. Asteroth, Ch. Baier: Theoretische Informatik
Voraussetzungen / BesonderesWährend des Semesters werden zwei freiwillige Probeklausuren gestellt.
252-0061-00LSystems Programming and Computer Architecture Information Belegung eingeschränkt - Details anzeigen O7 KP4V + 2UT. Roscoe, A. Klimovic
KurzbeschreibungIntroduction 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.
LernzielThe 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.
InhaltThis 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).
Skript- 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
LiteraturThe course is based in part on "Computer Systems: A Programmer's Perspective" (3rd Edition) by R. Bryant and D. O'Hallaron, with additional material.
Voraussetzungen / Besonderes252-0029-00L Parallel Programming
252-0028-00L Design of Digital Circuits
252-0026-00LAlgorithmen und Datenstrukturen Information Belegung eingeschränkt - Details anzeigen O7 KP3V + 2U + 1AM. Püschel, D. Steurer
KurzbeschreibungThe Kurs behandelt die Grundlagen des Entwurfs und der Analyse von Algorithmen und Datenstrukturen. Diese werden anhand von klassischen algorithmischen Problemen einschliesslich Graphenproblemen studiert. Die dazu nötige Einführung in die Graphentheorie ist ebenfalls Teil dieses Kurses.
LernzielVerständnis des Entwurfs und der Analyse grundlegender Algorithmen und Datenstrukturen. Verständnis der Grundlagen der Graphentheorie und einiger ihrere grundlegenden Algorithmen,
InhaltDer Kurs ist eine Einführung in die Grundlagen des Designs and der Analyse von Algorithmen. Dazu gehören zum einen klassische Entwurfsmuster für Algorithmen wie Induktion, Divide-and-Conquer und dynamische Programmierung. Diese werden anhand von klassischen Problemen wie zum Beispiel Suchen und Sortieren studiert. Zum anderen geht es um das Zusammenspiel von Algorithmen und Datenstrukturen wie verkettete Listen, Suchbäumen, Heaps und Union-Find Strukturen. Ein besondere Fokus sind Graphenalgorithmen für Probleme wie kürzeste Wege und minimale Spannbäume. Die dazu notwendige erste Einführung in die Graphentheorie ist ebenfalls Teil der Vorlesung.
SkriptEin vollständiges Skript in Deutsch ist in der Entwicklung und bereits als vollständiger Entwurf auf der Vorlesungswebseite verfügbar.
LiteraturAbgesehen vom Skript und Vorlesungsunterlagen empfehlen wir die folgenden Bücher als zusätzliches Nachschlagewerk.

Th. Ottmann, P. Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: An Introduction to Algorithms, 3rd edition, MIT Press, 2009
Teil 2
NummerTitelTypECTSUmfangDozierende
252-0209-00LAlgorithms, Probability, and Computing Information W8 KP4V + 2U + 1AB. Gärtner, M. Ghaffari, R. Kyng, D. Steurer
KurzbeschreibungAdvanced 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).
LernzielStudying and understanding of fundamental advanced concepts in algorithms, data structures and complexity theory.
SkriptWill be handed out.
LiteraturIntroduction 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.
  • Erste Seite Vorherige Seite Seite  2  von  2     Alle