Search result: Catalogue data in Spring Semester 2016
Computer Science Master | ||||||
Focus Courses | ||||||
Focus Courses in Information Systems | ||||||
Focus Elective Courses Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
252-0355-00L | Object Databases | W | 4 credits | 2V + 1U | A. K. de Spindler | |
Abstract | The course examines the principles and techniques of providing data management in object-oriented programming environments. After introducing the basics of object storage and management, we will cover semantic object models and their implementation. Finally, we discuss advanced data management services such as version models for temporal and engineering databases and for software configuration. | |||||
Objective | The goal of this course is to extend the student's knowledge of database technologies towards object-oriented solutions. Starting with basic principles, students also learn about commercial products and research projects in the domain of object-oriented data management. Apart from getting to know the characteristics of these approaches and the differences between them, the course also discusses what application requirements justify the use of object-oriented databases. Therefore, it educates students to make informed decisions on when to use what database technology. | |||||
Content | The course examines the principles and techniques of providing data management in object-oriented programming environments. It is divided into three parts that cover the road from simple object persistence, to object-oriented database management systems and to advanced data management services. In the first part, object serialisation and object-relational mapping frameworks will be introduced. Using the example of the open-source project db4o, the utilisation, architecture and functionality of a simple object-oriented database is discussed. The second part of the course is dedicated to advanced topics such as industry standards and solutions for object data management as well as storage and index technologies. Additionally, advanced data management services such as version models for temporal and engineering databases as well as for software configuration are discussed. In the third and last part of the course, an object-oriented data model that features a clear separation of typing and classification is presented. Together with the model, its implementation in terms of an object-oriented database management system is discussed also. Finally, an extension of this data model is presented that allows context-aware data to be managed. | |||||
Prerequisites / Notice | Prerequisites: Knowledge about the topics of the lectures "Introduction to Databases" and "Information Systems" is required. | |||||
252-0807-00L | Information Systems Laboratory Number of participants limited to 16. In the Master Programme max. 10 credits can be accounted by Labs on top of the Interfocus Courses. Additional Labs will be listed on the Addendum. | W | 10 credits | 9P | M. Norrie | |
Abstract | The purpose of this laboratory course is to practically explore modern techniques to build large-scale distributed information systems. Participants will work in groups of three or more students, and develop projects in several phases. | |||||
Objective | The students will gain experience of working with technologies used in the design and development of information systems. | |||||
Content | First week: Kick-off meeting and project assignment Second week: Meeting with the project supervisor to discuss the goals and scope of the project. During the semester: Individual group work. Each team member should contribute to the project roughly about 10h/week, excluding any necessary reading or self-studying (e.g. the time spent to learn a new technology). In addition, it is expected that each team can meet with their supervisor on a regular basis. End of semester: Final presentation. | |||||
252-3005-00L | Introduction to Natural Language Processing | W | 4 credits | 2V + 1U | T. Hofmann, M. Ciaramita | |
Abstract | This course presents an introduction to general topics and techniques used in natural language processing today, primarily focusing on statistical approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems. | |||||
Objective | The objective of the course is to learn the basic concepts in the statistical processing of natural languages. The course will be project-oriented so that the students can also gain hands-on experience with state-of-the-art tools and techniques. | |||||
Content | This course presents an introduction to general topics and techniques used in natural language processing today, primarily focusing on statistical approaches. The course provides an overview of the primary areas of research in language processing as well as a detailed exploration of the models and techniques used both in research and in commercial natural language systems. | |||||
Literature | Lectures will be presented from the Jurafsky and Martin text accompanied by related technical papers where necessary. | |||||
Seminar in Information Systems | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3002-00L | Algorithms for Database Systems Limited number of participants. | W | 2 credits | 2S | P. Widmayer | |
Abstract | Query processing, optimization, stream-based systems, distributed and parallel databases, non-standard databases. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithms for database systems. | |||||
252-3100-00L | Computer Supported Cooperative Work Number of participants limited to 18. | W | 2 credits | 2S | M. Norrie | |
Abstract | Computer-Supported Cooperative Work (CSCW) is the study of how people work together using computer technology. It is a multi-disciplinary research field dealing with the social, theoretical, practical and technical aspects of collaboration and how the use of technology can affect groups, organisations and communities. The diversity of the CSCW field is reflected in the range of topics covered. | |||||
Objective | Computer-Supported Cooperative Work (CSCW) is the study of how people work together using computer technology. It is a multi-disciplinary research field dealing with the social, theoretical, practical and technical aspects of collaboration and how the use of technology can affect groups, organisations, communities and societies. The CSCW community is interested in how people use everyday tools such as email, the web and chat systems as well as specialist groupware applications that support groups of people engaged in shared tasks such as software development or product design. A better understanding of how people communicate and work together can in turn lead to a better understanding of the problems of current technologies and systems and influence the design of new technologies and tools. | |||||
263-3200-00L | Advanced Topics in Information Retrieval and Natural Language Processing | W | 2 credits | 2S | T. Hofmann, C. Eickhoff | |
Abstract | The seminar will explore advanced topics in the areas of information retrieval and natural language processing. | |||||
Objective | Students will select one or more papers and prepare a 30-45 min presentation in the seminar followed by discussions. Students will learn to read and critically evaluate current research papers. It is expected that all students regularly participate in the seminar and the discussions. | |||||
Literature | Topics and papers will be presented in the first meeting of the semester. | |||||
Prerequisites / Notice | The first meeting will deal with paper assignments and scheduling. | |||||
Focus Courses in Software Engineering | ||||||
Focus Core Courses Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2910-00L | Program Analysis and Synthesis | W | 6 credits | 3V + 2U | M. Vechev | |
Abstract | This course covers modern automated program analysis and synthesis techniques, including: (i) core theoretical foundations, and (ii) applications of these foundations for solving useful practical challenges. The techniques are widely applicable and are increasingly being used in a wide range of areas (e.g., systems, networks, security, etc). | |||||
Objective | The course has 4 main objectives: * Understand the foundational principles behind modern automated program analysis and synthesis techniques. * Understand how to apply these principles to build practical, working systems that can solve interesting real-world problems. * Understand how these techniques interface with other research areas (e.g., machine learning, security) * Gain familiarity with state-of-the-art in the area and with future research trends. | |||||
Content | The last decade has seen an explosion in modern program analysis and synthesis techniques. These techniques are increasingly being used to reason about a vast range of computational paradigms, from finding security flaws in systems software (e.g., drivers, networks) to automating the construction of programs (e.g., for end user programming) and machine learning models (e.g., probabilistic programming). This course will provide a comprehensive introduction to modern, state-of-the-art program analysis and synthesis concepts, principles and research trends, including: * Static Analysis: - concepts: approximation, domains, precision, fixed points, numerical and heap analysis, asymptotic complexity, performance optimizations - frameworks: APRON, PPL, ELINA, Facebook's Flow, Soot, LLVM, WALA * Probabilistic programs and analysis - concepts: Baysean networks, probabilistic languages (e.g., R2, Stan) - frameworks: Alchemy, Markov Logic Networks, Picture * Modern program synthesis (e.g. programming from examples for end users): - concepts: L*, version spaces, Programming by Example, CEGIS - frameworks: Sketch, AGS, SmartEdit, ReSynth, Flashfill * Learning-based program synthesis: - concepts: Markov networks, generative / discriminative models, probabilistic grammars - frameworks: Nice2Predict * Learning-based program analysis - concepts: language models, neural networks - frameworks: SLANG, JSNice (Link) * Dynamic Analysis: - concepts: soundness, efficiency, complexity, stateless model checking - frameworks: FastTrack, EventRacer, Chess * Predicate abstraction: - concepts: Graf-Saidi, Boolean programs, lazy abstraction - frameworks: Microsoft's SLAM, BLAST, Fender * Symbolic execution: - concepts: SMT, concolic execution - frameworks: S2E, KLEE, Sage * Security Analysis: - concepts: information flow, hyperproperties - example: malware detection * Applications of Analysis & Synthesis: - finding security violations in web and mobile applications (e.g., JavaScript, Android), establishing properties of biological systems (e.g. DNA computation), analysis of systems software (e.g. , drivers, software defined networks), discovery of new algorithms (e.g. concurrent data structures, distributed algorithms), automating end-user programming, automating probabilistic inference (e.g. Intel's x86, ARM), and others. To gain a deeper understanding of how to apply these techniques in practice, the course will involve a hands-on programming project where based on the principles introduced in class, the students will build an analysis / synthesis system. | |||||
Lecture notes | The lectures notes will be distributed in class. | |||||
Literature | Distributed in class. | |||||
Prerequisites / Notice | This course is aimed at both graduate (M.Sc., PhD) students as well as advanced undergraduate students. | |||||
Focus Elective Courses Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2300-00L | How To Write Fast Numerical Code Prerequisite: Master student, solid C programming skills. | W | 6 credits | 3V + 2U | M. Püschel | |
Abstract | This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for numerical functionality such as linear algebra and others. The focus is on optimizing for the memory hierarchy and for special instruction sets. Finally, the course will introduce the recent field of automatic performance tuning. | |||||
Objective | Software performance (i.e., runtime) arises through the interaction of algorithm, its implementation, and the microarchitecture the program is run on. The first goal of the course is to provide the student with an understanding of this interaction, and hence software performance, focusing on numerical or mathematical functionality. The second goal is to teach a general systematic strategy how to use this knowledge to write fast software for numerical problems. This strategy will be trained in a few homeworks and semester-long group projects. | |||||
Content | The fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture. This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance software development using important functionality such as linear algebra functionality, transforms, filters, and others as examples. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and, if time permits, how to write multithreaded code for multicore platforms. Much of the material is based on state-of-the-art research. Further, a general strategy for performance analysis and optimization is introduced that the students will apply in group projects that accompany the course. Finally, the course will introduce the students to the recent field of automatic performance tuning. | |||||
263-2810-00L | Advanced Compiler Design | W | 7 credits | 3V + 2U + 1A | T. Gross | |
Abstract | This course covers advanced topics in compiler design: SSA intermediate representation and its use in optimization, just-in-time compilation, profile-based compilation, exception handling in modern programming languages. | |||||
Objective | Understand translation of object-oriented programs, opportunities and difficulties in optimizing programs using state-of-the-art techniques (profile-based compilation, just-in-time compilation, runtime system interaction) | |||||
Content | This course builds conceptually on Compiler Design (a basic class for advanced undergraduates), but this class is not a prerequisite. Students should however have a solid understanding of basic compiler technology. The focus is on handling the key features of modern object-oriented programs. We review implementations of single and multiple inheritance (incl. object layout, method dispatch) and optimization opportunities. Specific topics: intermediate representations (IR) for optimizing compilers, static single assignment (SSA) representation, constant folding, partial redundancy optimizations, profiling, profile-guided code generation. Special topics as time permits: debugging optimized code, multi-threading, data races, object races, memory consistency models, programming language design. Review of single inheritance, multiple inheritance, object layout, method dispatch, type analysis, type propagation and related topics. This course provides another opportunity to explore software design in a medium-scale software project. | |||||
Literature | Aho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition). In addition, papers as provided in the class. | |||||
Prerequisites / Notice | A basic course on compiler design is helpful but not mandatory. Student should have programming skills/experience to implement an optimizer (or significant parts of an optimizer) for a simple object-oriented language. The programming project is implemented using Java. | |||||
Seminar in Software Engineering | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
263-2100-00L | Research Topics in Software Engineering | W | 2 credits | 2S | M. Vechev | |
Abstract | This seminar introduces students to the latest research trends in programming languages and systems: - automated program analysis and synthesis techniques (e.g., new algorithms, combinations with machine learning) - applications of these techniques to challenges in systems, security, and others. More information: Link | |||||
Objective | At the end of the course, the students should be: - familiar with a broad range of key research results in the area as well as their applications. - know how to read and assess high quality research papers - be able to highlight practical examples/applications, limitations of existing work, and outline potential improvements. | |||||
Content | The course will be structured as a sequence of presentations of high-quality research papers, spanning both theory and practice. These papers will have typically appeared in top conferences spanning several areas such as POPL, PLDI, OOPSLA, OSDI, ASPLOS, SOSP, AAAI, ICML and others. | |||||
Literature | The publications to be presented will be announced on the seminar home page at least one week before the first session. | |||||
Prerequisites / Notice | Papers will be distributed during the first lecture. | |||||
Focus Courses in Theoretical Computer Science | ||||||
Focus Core Courses Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-0407-00L | Cryptography Foundations | W | 7 credits | 3V + 2U + 1A | U. Maurer | |
Abstract | Fundamentals and applications of cryptography. Cryptography as a mathematical discipline: reductions, constructive cryptography paradigm, security proofs. The discussed primitives include cryptographic functions, pseudo-randomness, symmetric encryption and authentication, public-key encryption, key agreement, and digital signature schemes. Selected cryptanalytic techniques. | |||||
Objective | The goals are: (1) understand the basic theoretical concepts and scientific thinking in cryptography; (2) understand and apply some core cryptographic techniques and security proof methods; (3) be prepared and motivated to access the scientific literature and attend specialized courses in cryptography. | |||||
Content | See course description. | |||||
Lecture notes | yes. | |||||
Prerequisites / Notice | Familiarity with the basic cryptographic concepts as treated for example in the course "Information Security" is required but can in principle also be acquired in parallel to attending the course. | |||||
252-0491-00L | Satisfiability of Boolean Formulas - Combinatorics and Algorithms Takes place for the last time in spring 2016. | W | 7 credits | 3V + 2U + 1A | E. Welzl | |
Abstract | Basics (CNF, resolution), extremal properties (probabilistic method, derandomization, Local Lemma, partial satisfaction), 2-SAT algorithms (random walk, implication graph), NP-completeness (Cook-Levin), cube (facial structure, Kraft inequality, Hamming balls, covering codes), SAT algorithms (satisfiability coding lemma, Paturi-Pudlák-Zane, Hamming ball search, Schöning), constraint satisfaction. | |||||
Objective | Studying of advanced methods in algorithms design and analysis, and in discrete mathematics along a classical problem in theoretical computer science. | |||||
Content | Satisfiability (SAT) is the problem of deciding whether a boolean formula in propositional logic has an assignment that evaluates to true. SAT occurs as a problem and is a tool in applications (e.g. Artificial Intelligence and circuit design) and it is considered a fundamental problem in theory, since many problems can be naturally reduced to it and it is the 'mother' of NP-complete problems. Therefore, it is widely investigated and has brought forward a rich body of methods and tools, both in theory and practice (including software packages tackling the problem). This course concentrates on the theoretical aspects of the problem. We will treat basic combinatorial properties (employing the probabilistic method including a variant of the Lovasz Local Lemma), recall a proof of the Cook-Levin Theorem of the NP-completeness of SAT, discuss and analyze several deterministic and randomized algorithms and treat the threshold behavior of random formulas. In order to set the methods encountered into a broader context, we will deviate to the more general set-up of constraint satisfaction and to the problem of proper k-coloring of graphs. | |||||
Lecture notes | There exists no book that covers the many facets of the topic. Lecture notes covering the material of the course will be distributed. | |||||
Literature | Here is a list of books with material vaguely related to the course. They can be found in the textbook collection (Lehrbuchsammlung) of the Computer Science Library: George Boole, An Investigation of the Laws of Thought on which are Founded the Mathematical Theories of Logic and Probabilities, Dover Publications (1854, reprinted 1973). Peter Clote, Evangelos Kranakis, Boolean Functions and Computation Models, Texts in Theoretical Computer Science, An EATCS Series, Springer Verlag, Berlin (2002). Nadia Creignou, Sanjeev Khanna, Madhu Sudhan, Complexity Classifications of Boolean Constrained Satisfaction Problems, SIAM Monographs on Discrete Mathematics and Applications, SIAM (2001). Harry R. Lewis, Christos H. Papadimitriou, Elements of the Theory of Computation, Prentice Hall (1998). Rajeev Motwani, Prabhakar Raghavan, Randomized Algorithms, Cambridge University Press, Cambridge, (1995). Uwe Schöning, Logik für Informatiker, BI-Wissenschaftsverlag (1992). Uwe Schöning, Algorithmik, Spektrum Akademischer Verlag, Heidelberg, Berlin (2001). Michael Sipser, Introduction to the Theory of Computation, PWS Publishing Company, Boston (1997). Klaus Truemper, Design of Logic-based Intelligent Systems, Wiley-Interscience, John Wiley & Sons, Inc., Hoboken (2004). | |||||
Prerequisites / Notice | Language: The course will be given in English by default (it's German only if nobody expresses preference for English). All accompanying material (lecture notes, web-page, etc.) is supplied in English. Prerequisites: The course assumes basic knowledge in propositional logic, probability theory and discrete mathematics, as it is supplied in the first two years of the Bachelor Studies at ETH. Outlook: There will be a follow-up seminar, SAT, on the topic in the subsequent semester (attendance of this course will be a prerequisite for participation in the seminar). There are ample possibilities for theses of various types (Master-, etc.). | |||||
Focus Elective Courses Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-1403-00L | Introduction to Quantum Information Processing | W | 3 credits | 2G | S. Wolf | |
Abstract | Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseudo-telepathy", quantum cryptography, as well as the main concepts of quantum information theory. | |||||
Objective | It is the goal of this course to get familiar with the most important notions that are of importance for the connection between Information and Physics. The formalism of Quantum Physics will be motivated and derived, and the use of these laws for information processing will be understood. In particular, the important algorithms of Grover as well as Shor will be studied and analyzed. | |||||
Content | According to Landauer, "information is physical". In quantum information, one is interested in the consequences and the possibilites offered by the laws of quantum physics for information processing. Followed by an introduction to the basic principles of quantum physics, such as superposition, interference, or entanglement, a variety of subjects are treated: Quantum algorithms, teleportation, quantum communication complexity and "pseude-telepathy", quantum cryptography, as well as the main concepts of quantum information theory. | |||||
252-1424-00L | Models of Computation | W | 6 credits | 2V + 2U + 1A | M. Cook | |
Abstract | This course surveys many different models of computation: Turing Machines, Cellular Automata, Finite State Machines, Graph Automata, Circuits, Tilings, Lambda Calculus, Fractran, Chemical Reaction Networks, Hopfield Networks, String Rewriting Systems, Tag Systems, Diophantine Equations, Register Machines, Primitive Recursive Functions, and more. | |||||
Objective | see above | |||||
Content | This course surveys many different models of computation: Turing Machines, Cellular Automata, Finite State Machines, Graph Automata, Circuits, Tilings, Lambda Calculus, Fractran, Chemical Reaction Networks, Hopfield Networks, String Rewriting Systems, Tag Systems, Diophantine Equations, Register Machines, Primitive Recursive Functions, and more. | |||||
401-3052-05L | Graph Theory | W | 5 credits | 2V + 1U | B. Sudakov | |
Abstract | Basic notions, . Trees, spanning trees, Caley formula, Vertex and edge connectivity, blocks, 2-connectivity, Maders theorem, Mengers theorem, Euleraing graphs, Hamilton cycle, Dirac theorem, Matchings, theorem of Hall, Konig, Tutte, Planar graph, Euler's formula, Basic non-planar graphs, Graph colorings, greedy, brooks theorem, 5-colorings of planar graphs | |||||
Objective | The students will get an overview over the most fundamental questions concerning graph theory. We expect them to understand the proof techniques and to use them autonomously on related problems. | |||||
Lecture notes | Lecture will be only at the blackboard. | |||||
Literature | West, D.: "Introduction to Graph Theory" Diestel, R.: "Graph Theory" Further literature links will be provided in the lecture. | |||||
Prerequisites / Notice | NOTICE: This course unit was previously offered as 252-1408-00L Graphs and Algorithms. | |||||
401-3903-11L | Geometric Integer Programming | W | 6 credits | 2V + 1U | R. Weismantel | |
Abstract | Integer programming is the task of minimizing a linear function over all the integer points in a polyhedron. This lecture introduces the key concepts of an algorithmic theory for solving such problems. | |||||
Objective | The purpose of the lecture is to provide a geometric treatment of the theory of integer optimization. | |||||
Content | Key topics are: - lattice theory and the polynomial time solvability of integer optimization problems in fixed dimension, - the theory of integral generating sets and its connection to totally dual integral systems, - finite cutting plane algorithms based on lattices and integral generating sets. | |||||
Lecture notes | not available, blackboard presentation | |||||
Literature | Bertsimas, Weismantel: Optimization over Integers, Dynamic Ideas 2005. Schrijver: Theory of linear and integer programming, Wiley, 1986. | |||||
Prerequisites / Notice | "Mathematical Optimization" (401-3901-00L) | |||||
401-3908-09L | Polyhedral Computation | W | 6 credits | 2V + 1U | K. Fukuda | |
Abstract | Polyhedral computation deals with various computational problems associated with convex polyhedra in general dimension. Typical problems include the representation conversion problem (between halfspace and generator representations), the polytope volume computation, the construction of hyperplane arrangements and zonotopes, the Minkowski addition of convex polytopes. | |||||
Objective | ||||||
Content | In this lecture, we study basic and advanced techniques for polyhedral computation in general dimension. We review some classical results on convexity and convex polyhedra such as polyhedral duality, Euler's relation, shellability, McMullen's upper bound theorem, the Minkowski-Weyl theorem, face counting formulas for arrangements, Shannon's theorem on simplicial cells. Our main goal is to investigate fundamental problems in polyhedral computation from both the complexity theory and the viewpoint of algorithmic design. Optimization methods, in particular, linear programming algorithms, will be used as essential building blocks of advanced algorithms in polyhedral computation. Various research problems, both theoretical and algorithmic, in polyhedral computation will be presented. We also study applications of polyhedral computation in combinatorial optimization, integer programming, game theory, parametric linear and quadratic programming. Teaching assistant: May Szedlák | |||||
Lecture notes | Lecture Notes and Introduction Materials: Link Exercises: Link | |||||
Prerequisites / Notice | This course assumes the basic knowledge of linear programming, which is taught in courses such as "Mathematical Optimization" (401-3901-00L) and "Introduction to Optimization" (401-2903-00L). / Solving all exercise problems is recommended for a student to be ready for the exam. | |||||
401-4904-00L | Combinatorial Optimization | W | 6 credits | 2V + 1U | R. Zenklusen | |
Abstract | Combinatorial Optimization deals with efficiently finding a provably strong solution among a finite set of options. This course discusses key combinatorial structures and techniques to design efficient algorithms for combinatorial optimization problems. We put a strong emphasis on polyhedral methods, which proved to be a powerful and unifying tool throughout combinatorial optimization. | |||||
Objective | The goal of this lecture is to get a thorough understanding of various modern combinatorial optimization techniques with an emphasis on polyhedral approaches. Students will learn a general toolbox to tackle a wide range of combinatorial optimization problems. | |||||
Content | Key topics include: - Polyhedral descriptions; - Combinatorial uncrossing; - Ellipsoid method; - Equivalence between separation and optimization; - Design of efficient approximation algorithms for hard problems. | |||||
Lecture notes | Not available. | |||||
Literature | - Bernhard Korte, Jens Vygen: Combinatorial Optimization. 5th edition, Springer, 2012. - Alexander Schrijver: Combinatorial Optimization: Polyhedra and Efficiency, Springer, 2003. This work has 3 volumes. | |||||
Prerequisites / Notice | We recommend that students interested in Combinatorial Optimization first attend the course "Mathematical Optimization" (401-3901-00L). | |||||
252-0408-00L | Cryptographic Protocols Does not take place this semester. | W | 5 credits | 2V + 2U | U. Maurer | |
Abstract | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Objective | Indroduction to a very active research area with many gems and paradoxical results. Spark interest in fundamental problems. | |||||
Content | The course presents a selection of hot research topics in cryptography. The choice of topics varies and may include provable security, interactive proofs, zero-knowledge protocols, secret sharing, secure multi-party computation, e-voting, etc. | |||||
Lecture notes | the lecture notes are in German, but they are not required as the entire course material is documented also in other course material (in english). | |||||
Prerequisites / Notice | A basic understanding of fundamental cryptographic concepts (as taught for example in the course Information Security or in the course Cryptography) is useful, but not required. | |||||
Seminar in Theoretical Computer Science | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
252-3002-00L | Algorithms for Database Systems Limited number of participants. | W | 2 credits | 2S | P. Widmayer | |
Abstract | Query processing, optimization, stream-based systems, distributed and parallel databases, non-standard databases. | |||||
Objective | Develop an understanding of selected problems of current interest in the area of algorithms for database systems. |
- Page 2 of 3 All