Suchergebnis: Katalogdaten im Herbstsemester 2021

Informatik Master Information
Master-Studium (Studienreglement 2009)
Vertiefungsfächer
Vertiefung in Distributed Systems
Kernfächer der Vertiefung in Distributed Systems
NummerTitelTypECTSUmfangDozierende
252-1414-00LSystem Security Information W7 KP2V + 2U + 2AS. Capkun, A. Perrig
KurzbeschreibungThe first part of the lecture covers individual system aspects starting with tamperproof or tamper-resistant hardware in general over operating system related security mechanisms to application software systems, such as host based intrusion detection systems. In the second part, the focus is on system design and methodologies for building secure systems.
LernzielIn this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems, and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met.
InhaltThe first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems such as host based intrusion detetction systems. The main topics covered are: tamper resistant hardware, CPU support for security, protection mechanisms in the kernel, file system security (permissions / ACLs / network filesystem issues), IPC Security, mechanisms in more modern OS, such as Capabilities and Zones, Libraries and Software tools for security assurance, etc.

In the second part, the focus is on system design and methodologies for building secure systems. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, language-supported security, logging and auditing (BSM audit, dtrace, ...), cryptographic support, and trustworthy computing (TCG, SGX).

Along the lectures, model cases will be elaborated and evaluated in the exercises.
263-3845-00LData Management Systems Information W8 KP3V + 1U + 3AG. Alonso
KurzbeschreibungThe course will cover the implementation aspects of data management systems using relational database engines as a starting point to cover the basic concepts of efficient data processing and then expanding those concepts to modern implementations in data centers and the cloud.
LernzielThe goal of the course is to convey the fundamental aspects of efficient data management from a systems implementation perspective: storage, access, organization, indexing, consistency, concurrency, transactions, distribution, query compilation vs interpretation, data representations, etc. Using conventional relational engines as a starting point, the course will aim at providing an in depth coverage of the latest technologies used in data centers and the cloud to implement large scale data processing in various forms.
InhaltThe course will first cover fundamental concepts in data management: storage, locality, query optimization, declarative interfaces, concurrency control and recovery, buffer managers, management of the memory hierarchy, presenting them in a system independent manner. The course will place an special emphasis on understating these basic principles as they are key to understanding what problems existing systems try to address. It will then proceed to explore their implementation in modern relational engines supporting SQL to then expand the range of systems used in the cloud: key value stores, geo-replication, query as a service, serverless, large scale analytics engines, etc.
LiteraturThe main source of information for the course will be articles and research papers describing the architecture of the systems discussed. The list of papers will be provided at the beginning of the course.
Voraussetzungen / BesonderesThe course requires to have completed the Data Modeling and Data Bases course at the Bachelor level as it assumes knowledge of databases and SQL.
KompetenzenKompetenzen
Fachspezifische KompetenzenKonzepte und Theoriengeprüft
Verfahren und Technologiengeprüft
Wahlfächer der Vertiefung in Distributed Systems
NummerTitelTypECTSUmfangDozierende
252-0817-00LDistributed Systems LaboratoryW10 KP9PG. Alonso, T. Hoefler, A. Klimovic, T. Roscoe, R. Wattenhofer, C. Zhang
KurzbeschreibungThis course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including wireless networks, ad-hoc networks, RFID, and distributed applications on smartphones.
LernzielGain hands-on-experience with real products and the latest technology in distributed systems.
InhaltThis course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on smartphones. The goal of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course.
227-2210-00LComputer Architecture Information W8 KP6G + 1AO. Mutlu
KurzbeschreibungComputer architecture is the science & art of designing and optimizing hardware components and the hardware/software interface to create a computer that meets design goals. This course covers basic components of a modern computing system (memory, processors, interconnects, accelerators). The course takes a hardware/software cooperative approach to understanding and designing computing systems.
LernzielWe will learn the fundamental concepts of the different parts of modern computing systems, as well as the latest major research topics in Industry and Academia. We will extensively cover memory systems (including DRAM and new Non-Volatile Memory technologies, memory controllers, flash memory), parallel computing systems (including multicore processors, coherence and consistency, GPUs), heterogeneous computing, processing-in-memory, interconnection networks, specialized systems for major data-intensive workloads (e.g. graph analytics, bioinformatics, machine learning), etc.
InhaltThe principles presented in the lecture are reinforced in the laboratory through 1) the design and implementation of a cycle-accurate simulator, where we will explore different components of a modern computing system (e.g., pipeline, memory hierarchy, branch prediction, prefetching, caches, multithreading), and 2) the extension of state-of-the-art research simulators (e.g., Ramulator) for more in-depth understanding of specific system components (e.g., memory scheduling, prefetching).
SkriptAll the materials (including lecture slides) will be provided on the course website: https://safari.ethz.ch/architecture/

The video recordings of the lectures are expected to be made available after lectures.
LiteraturWe will provide required and recommended readings in every lecture. They will mainly consist of research papers presented in major Computer Architecture and related conferences and journals.
Voraussetzungen / BesonderesDigital Design and Computer Architecture.
263-3850-00LInformal Methods Information W5 KP2G + 2AD. Cock
KurzbeschreibungFormal methods are increasingly a key part of the methodological toolkit of systems programmers - those writing operating systems, databases, and distributed systems. This course is about how to apply concepts, techniques, and principles from formal methods to such software systems, and how to get into the habit of thinking formally about systems design even when writing low-level C code.
LernzielThis course is about equipping students whose focus is systems with the insights and conceptual tools provided by formal methods, and thereby enabling them to become better systems programmers.
By the end of the course, students should be able to seamlessly integrate basic concepts form formal methods into how they conceive, design, implement, reason about, and debug computer systems.

The goal is not to provide a comprehensive introduction to formal methods - this is well covered by other courses in the department. Instead, it is intended to provide students in computer systems (who may or may not have existing background knowledge of formal methods) with a basis for applying formal methods in their work.
InhaltThis course does not assume prior knowledge of formal methods, and will start with a quick review of topics such static vs. dynamic reasoning, variants and invariants, program algebra and refinement, etc. However, it is strongly recommended that students have already taken one of the introductory formal methods course at ETH (or equivalents elsewhere) before taking this course - the emphasis is on reinforcing these concepts by applying them, not to teach them from scratch.

Instead, the majority of the course will be about how to apply these techniques to actual, practical code in real systems. We will work from real systems code written both by students taking the course, and practical systems developed using formal techniques, in particular the verified seL4 microkernel will be a key case study. We will also focus on informal, pen-and-paper arguments for correctness of programs and systems rather than using theorem provers or automated verification tools; again these latter techniques are well covered in other courses (and recommended as a complement to this one).
Seminar in Distributed Systems
NummerTitelTypECTSUmfangDozierende
263-3504-00LHardware Acceleration for Data Processing Information Belegung eingeschränkt - Details anzeigen
Number of participants limited to 24.

The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 KP2SG. Alonso
KurzbeschreibungThe seminar will cover topics related to data processing using new hardware in general and hardware accelerators (GPU, FPGA, specialized processors) in particular.
LernzielThe seminar will cover topics related to data processing using new hardware in general and hardware accelerators (GPU, FPGA, specialized processors) in particular.
InhaltThe general application areas are big data and machine learning. The systems covered will include systems from computer architecture, high performance computing, data appliances, and data centers.
Voraussetzungen / BesonderesStudents taking this seminar should have the necessary background in systems and low level programming.
Vertiefung in Visual Computing
Kernfächer der Vertiefung in Visual Computing
NummerTitelTypECTSUmfangDozierende
252-0535-00LAdvanced Machine Learning Information W10 KP3V + 2U + 4AJ. M. Buhmann, C. Cotrini Jimenez
KurzbeschreibungMachine learning algorithms provide analytical methods to search data sets for characteristic patterns. Typical tasks include the classification of data, function fitting and clustering, with applications in image and speech analysis, bioinformatics and exploratory data analysis. This course is accompanied by practical machine learning projects.
LernzielStudents will be familiarized with advanced concepts and algorithms for supervised and unsupervised learning; reinforce the statistics knowledge which is indispensible to solve modeling problems under uncertainty. Key concepts are the generalization ability of algorithms and systematic approaches to modeling and regularization. Machine learning projects will provide an opportunity to test the machine learning algorithms on real world data.
InhaltThe theory of fundamental machine learning concepts is presented in the lecture, and illustrated with relevant applications. Students can deepen their understanding by solving both pen-and-paper and programming exercises, where they implement and apply famous algorithms to real-world data.

Topics covered in the lecture include:

Fundamentals:
What is data?
Bayesian Learning
Computational learning theory

Supervised learning:
Ensembles: Bagging and Boosting
Max Margin methods
Neural networks

Unsupservised learning:
Dimensionality reduction techniques
Clustering
Mixture Models
Non-parametric density estimation
Learning Dynamical Systems
SkriptNo lecture notes, but slides will be made available on the course webpage.
LiteraturC. Bishop. Pattern Recognition and Machine Learning. Springer 2007.

R. Duda, P. Hart, and D. Stork. Pattern Classification. John Wiley &
Sons, second edition, 2001.

T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical
Learning: Data Mining, Inference and Prediction. Springer, 2001.

L. Wasserman. All of Statistics: A Concise Course in Statistical
Inference. Springer, 2004.
Voraussetzungen / BesonderesThe course requires solid basic knowledge in analysis, statistics and numerical methods for CSE as well as practical programming experience for solving assignments.
Students should have followed at least "Introduction to Machine Learning" or an equivalent course offered by another institution.

PhD students are required to obtain a passing grade in the course (4.0 or higher based on project and exam) to gain credit points.
263-5902-00LComputer Vision Information W8 KP3V + 1U + 3AM. Pollefeys, S. Tang, F. Yu
KurzbeschreibungThe goal of this course is to provide students with a good understanding of computer vision and image analysis techniques. The main concepts and techniques will be studied in depth and practical algorithms and approaches will be discussed and explored through the exercises.
LernzielThe objectives of this course are:
1. To introduce the fundamental problems of computer vision.
2. To introduce the main concepts and techniques used to solve those.
3. To enable participants to implement solutions for reasonably complex problems.
4. To enable participants to make sense of the computer vision literature.
InhaltCamera models and calibration, invariant features, Multiple-view geometry, Model fitting, Stereo Matching, Segmentation, 2D Shape matching, Shape from Silhouettes, Optical flow, Structure from motion, Tracking, Object recognition, Object category recognition
Voraussetzungen / BesonderesIt is recommended that students have taken the Visual Computing lecture or a similar course introducing basic image processing concepts before taking this course.
Wahlfächer der Vertiefung in Visual Computing
NummerTitelTypECTSUmfangDozierende
252-0543-01LComputer Graphics Information
Findet dieses Semester nicht statt.
W8 KP3V + 2U + 2A
KurzbeschreibungThis course covers some of the fundamental concepts of computer graphics generation of photorealistic images from digital representations of 3D scenes and image-based methods for recovering digital scene representations from captured images.
LernzielAt the end of the course the students will be able to build a rendering system. The students will study the basic principles of rendering and image synthesis. In addition, the course is intended to stimulate the students' curiosity to explore the field of computer graphics in subsequent courses or on their own.
InhaltThis course covers fundamental concepts of modern computer graphics. Students will learn about 3D object representations and the details of how to generate photorealistic images from digital representations of 3D scenes. Starting with an introduction to 3D shape modeling, geometry representation and texture mapping, we will move on to the physics of light transport, acceleration structures, appearance modeling and Monte Carlo integration. We will apply these principles for computing light transport of direct and global illumination due to surfaces and participating media. We will end with an overview of modern image-based capture and image synthesis methods, covering topics such as geometry and material capture, light-fields and depth-image based rendering.
Skriptno
LiteraturBooks:
High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting
Multiple view geometry in computer vision
Physically Based Rendering: From Theory to Implementation
Voraussetzungen / BesonderesPrerequisites:
Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, programming skills in C++, Visual Computing course recommended.
The programming assignments will be in C++. This will not be taught in the class.
252-0546-00LPhysically-Based Simulation in Computer Graphics Information W5 KP2V + 1U + 1AV. da Costa de Azevedo, B. Solenthaler, B. Thomaszewski
KurzbeschreibungDie Vorlesung gibt eine Einführung in das Gebiet der physikalisch basierten Animation in der Computer Graphik und einen Überblick über fundamentale Methoden und Algorithmen. In den praktischen Übungen werden drei Aufgabenblätter in kleinen Gruppen bearbeitet. Zudem sollen in einem Programmierprojekt die Vorlesungsinhalte in einem 3D Spiel oder einer vergleichbaren Anwendung umgesetzt werden.
LernzielDie Vorlesung gibt eine Einführung in das Gebiet der physikalisch basierten Animation in der Computer Graphik und einen Überblick über fundamentale Methoden und Algorithmen. In den praktischen Übungen werden drei Aufgabenblätter in kleinen Gruppen bearbeitet. Zudem sollen in einem Programmierprojekt die Vorlesungsinhalte in einem 3D Spiel oder einer vergleichbaren Anwendung umgesetzt werden.
InhaltIn der Vorlesung werden Themen aus dem Gebiet der physikalisch-basierten Modellierung wie Partikel-Systeme, Feder-Masse Modelle, die Methoden der Finiten Differenzen und der Finiten Elemente behandelt. Diese Methoden und Techniken werden verwendet um deformierbare Objekte oder Flüssigkeiten zu simulieren mit Anwendungen in Animationsfilmen, 3D Computerspielen oder medizinischen Systemen. Es werden auch Themen wie Starrkörperdynamik, Kollisionsdetektion und Charakteranimation behandelt.
Voraussetzungen / BesonderesBasiskenntnisse in Analysis und Physik, Algorithmen und Datenstrukturen und der Programmierung in C++. Kenntnisse auf den Gebieten Numerische Mathematik sowie Gewoehnliche und Partielle Differentialgleichungen sind von Vorteil, werden aber nicht vorausgesetzt.
263-2400-00LReliable and Trustworthy Artificial Intelligence Information W6 KP2V + 2U + 1AM. Vechev
KurzbeschreibungCreating reliable and explainable probabilistic models is a fundamental challenge to solving the artificial intelligence problem. This course covers some of the latest and most exciting advances that bring us closer to constructing such models.
LernzielThe main objective of this course is to expose students to the latest and most exciting research in the area of explainable and interpretable artificial intelligence, a topic of fundamental and increasing importance. Upon completion of the course, the students should have mastered the underlying methods and be able to apply them to a variety of problems.

To facilitate deeper understanding, an important part of the course will be a group hands-on programming project where students will build a system based on the learned material.
InhaltThis comprehensive course covers some of the latest and most important research advances (over the last 3 years) underlying the creation of safe, trustworthy, and reliable AI (more information here: https://www.sri.inf.ethz.ch/teaching/reliableai21):

* Adversarial Attacks on Deep Learning (noise-based, geometry attacks, sound attacks, physical attacks, autonomous driving, out-of-distribution)
* Defenses against attacks
* Combining gradient-based optimization with logic for encoding background knowledge
* Complete Certification of deep neural networks via automated reasoning (e.g., via numerical relaxations, mixed-integer solvers).
* Probabilistic certification of deep neural networks
* Training deep neural networks to be provably robust via automated reasoning
* Fairness (different notions of fairness, certifiably fair representation learning)
* Federated Learning (introduction, security considerations)
Voraussetzungen / BesonderesWhile not a formal requirement, the course assumes familiarity with basics of machine learning (especially linear algebra, gradient descent, and neural networks as well as basic probability theory). These topics are usually covered in “Intro to ML” classes at most institutions (e.g., “Introduction to Machine Learning” at ETH).

For solving assignments, some programming experience in Python is expected.
263-5210-00LProbabilistic Artificial Intelligence Information Belegung eingeschränkt - Details anzeigen W8 KP3V + 2U + 2AA. Krause
KurzbeschreibungThis course introduces core modeling techniques and algorithms from machine learning, optimization and control for reasoning and decision making under uncertainty, and study applications in areas such as robotics.
LernzielHow can we build systems that perform well in uncertain environments? How can we develop systems that exhibit "intelligent" behavior, without prescribing explicit rules? How can we build systems that learn from experience in order to improve their performance? We will study core modeling techniques and algorithms from statistics, optimization, planning, and control and study applications in areas such as robotics. The course is designed for graduate students.
InhaltTopics covered:
- Probability
- Probabilistic inference (variational inference, MCMC)
- Bayesian learning (Gaussian processes, Bayesian deep learning)
- Probabilistic planning (MDPs, POMPDPs)
- Multi-armed bandits and Bayesian optimization
- Reinforcement learning
Voraussetzungen / BesonderesSolid basic knowledge in statistics, algorithms and programming.
The material covered in the course "Introduction to Machine Learning" is considered as a prerequisite.
Seminar in Visual Computing
NummerTitelTypECTSUmfangDozierende
263-3713-00LAdvanced Topics in Human-Centric Computer Vision Information Belegung eingeschränkt - Details anzeigen
Numbers of participants limited to 20.

The deadline for deregistering expires at the end of the third week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 KP2SO. Hilliges
KurzbeschreibungIn this seminar we will discuss state-of-the-art literature on human-centric computer vision topics including but not limited to human pose estimation, hand and eye-gaze estimation as well as generative modeliing of detailed human activities.
LernzielThe learning objective is to analyze selected research papers published at top computer vision and machine learning venues. A key focus will be placed on identifying and discussing open problems and novel solutions in this space. The seminar will achieve this via several components: reading papers, technical presentations, writing analysis and critique summaries, class discussions, and exploration of potential research topics.
InhaltThe goal of the seminar is not only to familiarize students with exciting new research topics, but also to teach basic scientific writing and oral presentation skills. The seminar will have a different structure from regular seminars to encourage more discussion and a deeper learning experience.

We will treat papers as case studies and discuss them in-depth in the seminar. Once per semester, every student will have to take one of the following roles:

Presenter: Give a presentation about the paper that you read in depth.

Reviewer: Perform a critical review of the paper.

All other students: read the paper and submit questions they have about the paper before the presentation.
Voraussetzungen / BesonderesParticipation will be limited subject to available topics. Furthermore, students will have to submit a motivation paragraph. Participants will be selected based on this paragraph.
KompetenzenKompetenzen
Methodenspezifische KompetenzenAnalytische Kompetenzengeprüft
Soziale KompetenzenKommunikationgeprüft
Persönliche KompetenzenKritisches Denkengeprüft
252-5051-00LAdvanced Topics in Machine Learning Information Belegung eingeschränkt - Details anzeigen
Number of participants limited to 40.

The deadline for deregistering expires at the end of the fourth week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 KP2SJ. M. Buhmann, R. Cotterell, J. Vogt, F. Yang
KurzbeschreibungIn this seminar, recent papers of the pattern recognition and machine learning literature are presented and discussed. Possible topics cover statistical models in computer vision, graphical models and machine learning.
LernzielThe seminar "Advanced Topics in Machine Learning" familiarizes students with recent developments in pattern recognition and machine learning. Original articles have to be presented and critically reviewed. The students will learn how to structure a scientific presentation in English which covers the key ideas of a scientific paper. An important goal of the seminar presentation is to summarize the essential ideas of the paper in sufficient depth while omitting details which are not essential for the understanding of the work. The presentation style will play an important role and should reach the level of professional scientific presentations.
InhaltThe seminar will cover a number of recent papers which have emerged as important contributions to the pattern recognition and machine learning literature. The topics will vary from year to year but they are centered on methodological issues in machine learning like new learning algorithms, ensemble methods or new statistical models for machine learning applications. Frequently, papers are selected from computer vision or bioinformatics - two fields, which relies more and more on machine learning methodology and statistical models.
LiteraturThe papers will be presented in the first session of the seminar.
252-5701-00LAdvanced Topics in Computer Graphics and Vision Information Belegung eingeschränkt - Details anzeigen
Number of participants limited to 24.

The deadline for deregistering expires at the end of the third week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
W2 KP2SM. Pollefeys, O. Sorkine Hornung, S. Tang
KurzbeschreibungThis seminar covers advanced topics in computer graphics, such as modeling, rendering, animation, real-time graphics, physical simulation, and computational photography. Each time the course is offered, a collection of research papers is selected and each student presents one paper to the class and leads a discussion about the paper and related topics.
LernzielThe goal is to get an in-depth understanding of actual problems and research topics in the field of computer graphics as well as improve presentations and critical analysis skills.
InhaltThis seminar covers advanced topics in computer graphics,
including both seminal research papers as well as the latest
research results. Each time the course is offered, a collection of
research papers are selected covering topics such as modeling,
rendering, animation, real-time graphics, physical simulation, and
computational photography. Each student presents one paper to the
class and leads a discussion about the paper and related topics.
All students read the papers and participate in the discussion.
Skriptno script
LiteraturIndividual research papers are selected each term. See http://graphics.ethz.ch/ for the current list.
Vertiefung General Studies
Kernfächer der Vertiefung General Studies
NummerTitelTypECTSUmfangDozierende
252-0237-00LConcepts of Object-Oriented Programming Information W8 KP3V + 2U + 2AP. Müller
KurzbeschreibungCourse 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
LernzielAfter 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.
InhaltThe 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
LiteraturWill be announced in the lecture.
Voraussetzungen / BesonderesPrerequisites:
Mastering at least one object-oriented programming language (this course will NOT provide an introduction to object-oriented programming); programming experience
252-0417-00LRandomized Algorithms and Probabilistic MethodsW10 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-0463-00LSecurity Engineering Information W7 KP2V + 2U + 2AS. Krstic
KurzbeschreibungSubject of the class are engineering techniques for developing secure systems. We examine concepts, methods and tools, applied within the different activities of the SW development process to improve security of the system. Topics: security requirements&risk analysis, system modeling&model-based development methods, implementation-level security, and evaluation criteria for secure systems
LernzielSecurity engineering is an evolving discipline that unifies two important areas: software engineering and security. Software Engineering addresses the development and application of methods for systematically developing, operating, and maintaining, complex, high-quality software.
Security, on the other hand, is concerned with assuring and verifying properties of a system that relate to confidentiality, integrity, and availability of data.

The goal of this class is to survey engineering techniques for developing secure systems. We will examine concepts, methods, and tools that can be applied within the different activities of the software development process, in order to improve the security of the resulting systems.

Topics covered include

* security requirements & risk analysis,
* system modeling and model-based development methods,
* implementation-level security, and
* evaluation criteria for the development of secure systems
InhaltSecurity engineering is an evolving discipline that unifies two important areas: software engineering and security. Software Engineering addresses the development and application of methods for systematically developing, operating, and maintaining, complex, high-quality software.
Security, on the other hand, is concerned with assuring and verifying properties of a system that relate to confidentiality, integrity, and availability of data.

The goal of this class is to survey engineering techniques for developing secure systems. We will examine concepts, methods, and tools that can be applied within the different activities of the software development process, in order to improve the security of the resulting systems.

Topics covered include

* security requirements & risk analysis,
* system modeling and model-based development methods,
* implementation-level security, and
* evaluation criteria for the development of secure systems

Modules taught:

1. Introduction
- Introduction of Infsec group and speakers
- Security meets SW engineering: an introduction
- The activities of SW engineering, and where security fits in
- Overview of this class
2. Requirements Engineering: Security Requirements and some Analysis
- Overview: functional and non-functional requirements
- Use cases, misuse cases, sequence diagrams
- Safety and security
3. Modeling in the design activities
- Structure, behavior, and data flow
- Class diagrams, statecharts
4. Model-driven security for access control (Part I)
- SecureUML as a language for access control
- Combining Design Modeling Languages with SecureUML
- Semantics, i.e., what does it all mean,
- Generation
- Examples and experience
5. Model-driven security (Part II)
- Continuation of above topics
6. Security patterns (design and implementation)
7. Implementation-level security
- Buffer overflows
- Input checking
- Injection attacks
8. Code scanning
- Static code analysis basics
- Theoretical and practical challenges
- Analysis algorithms
- Common bug pattern search and specification
- Dataflow analysis
9. Testing
- Overview and basics
- Model-based testing
- Testing security properties
10. Risk analysis and management
- "Risk": assets, threats, vulnerabilities, risk
- Risk assessment: quantitative and qualitative
- Safeguards
- Generic risk analysis procedure
- The OCTAVE approach
- Example of qualitative risk assessment
11. Threat modeling
- Overview
- Safety engineering basics: FMEA and FTA
- Security impact analysis in the design phase
- Modeling security threats: attack trees
- Examples and experience
12. Evaluation criteria
- NIST special papers
- ISO/IEC 27000
- Common criteria
- BSI baseline protection
13. Guest lecture
- TBA
Literatur- Ross Anderson: Security Engineering, Wiley, 2001.
- Matt Bishop: Computer Security, Pearson Education, 2003.
- Ian Sommerville: Software Engineering, 6th ed., Addison-Wesley, 2001.
- John Viega, Gary McGraw: Building Secure Software, Addison-Wesley, 2002.
- Further relevant books and journal/conference articles will be announced in the lecture.
Voraussetzungen / BesonderesPrerequisite: Class on Information Security
252-0535-00LAdvanced Machine Learning Information W10 KP3V + 2U + 4AJ. M. Buhmann, C. Cotrini Jimenez
KurzbeschreibungMachine learning algorithms provide analytical methods to search data sets for characteristic patterns. Typical tasks include the classification of data, function fitting and clustering, with applications in image and speech analysis, bioinformatics and exploratory data analysis. This course is accompanied by practical machine learning projects.
LernzielStudents will be familiarized with advanced concepts and algorithms for supervised and unsupervised learning; reinforce the statistics knowledge which is indispensible to solve modeling problems under uncertainty. Key concepts are the generalization ability of algorithms and systematic approaches to modeling and regularization. Machine learning projects will provide an opportunity to test the machine learning algorithms on real world data.
InhaltThe theory of fundamental machine learning concepts is presented in the lecture, and illustrated with relevant applications. Students can deepen their understanding by solving both pen-and-paper and programming exercises, where they implement and apply famous algorithms to real-world data.

Topics covered in the lecture include:

Fundamentals:
What is data?
Bayesian Learning
Computational learning theory

Supervised learning:
Ensembles: Bagging and Boosting
Max Margin methods
Neural networks

Unsupservised learning:
Dimensionality reduction techniques
Clustering
Mixture Models
Non-parametric density estimation
Learning Dynamical Systems
SkriptNo lecture notes, but slides will be made available on the course webpage.
LiteraturC. Bishop. Pattern Recognition and Machine Learning. Springer 2007.

R. Duda, P. Hart, and D. Stork. Pattern Classification. John Wiley &
Sons, second edition, 2001.

T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical
Learning: Data Mining, Inference and Prediction. Springer, 2001.

L. Wasserman. All of Statistics: A Concise Course in Statistical
Inference. Springer, 2004.
Voraussetzungen / BesonderesThe course requires solid basic knowledge in analysis, statistics and numerical methods for CSE as well as practical programming experience for solving assignments.
Students should have followed at least "Introduction to Machine Learning" or an equivalent course offered by another institution.

PhD students are required to obtain a passing grade in the course (4.0 or higher based on project and exam) to gain credit points.
252-1414-00LSystem Security Information W7 KP2V + 2U + 2AS. Capkun, A. Perrig
KurzbeschreibungThe first part of the lecture covers individual system aspects starting with tamperproof or tamper-resistant hardware in general over operating system related security mechanisms to application software systems, such as host based intrusion detection systems. In the second part, the focus is on system design and methodologies for building secure systems.
LernzielIn this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems, and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met.
InhaltThe first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems such as host based intrusion detetction systems. The main topics covered are: tamper resistant hardware, CPU support for security, protection mechanisms in the kernel, file system security (permissions / ACLs / network filesystem issues), IPC Security, mechanisms in more modern OS, such as Capabilities and Zones, Libraries and Software tools for security assurance, etc.

In the second part, the focus is on system design and methodologies for building secure systems. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, language-supported security, logging and auditing (BSM audit, dtrace, ...), cryptographic support, and trustworthy computing (TCG, SGX).

Along the lectures, model cases will be elaborated and evaluated in the exercises.
  •  Seite  1  von  3 Nächste Seite Letzte Seite     Alle