Suchergebnis: Katalogdaten im Herbstsemester 2023
Cyber Security Master ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
252-0463-00L | Security Engineering ![]() | W | 7 KP | 2V + 2U + 2A | D. Basin, S. Krstic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Subject 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | Security 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | Security 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 / Besonderes | Prerequisite: Class on Information Security | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-1414-00L | System Security ![]() | W | 7 KP | 2V + 2U + 2A | S. Capkun, S. Shinde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | The first part of the course covers general security concepts and hardware-based support for security. In the second part, the focus is on system design and methodologies for building secure systems. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | In 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The first part of the lecture covers hardware-based security concepts. Topics include the concept of physical and software-based side channel attacks on hardware resources, architectural support for security (e.g., memory management and permissions, disk encryption), and trusted execution environments (Intel SGX, ARM TrustZone, AMD SEV, and RISC-V Keystone). In the second part, the focus is on system design and methodologies for building secure systems. Topics include: common software faults (e.g., buffer overflows, etc.), bug-detection, writing secure software (design, architecture, QA, testing), compiler-supported security (e.g., control-flow integrity), and language-supported security (e.g., memory safety). Along the lectures, model cases will be elaborated and evaluated in the exercises. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-4640-00L | Network Security ![]() | W | 8 KP | 2V + 2U + 3A | A. Perrig, S. Frei, K. Paterson | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Some of today's most damaging attacks on computer systems involve exploitation of network infrastructure, either as the target of attack or as a vehicle to attack end systems. This course provides an in-depth study of network attack techniques and methods to defend against them. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | - Students are familiar with fundamental network-security concepts. - Students can assess current threats that Internet services and networked devices face, and can evaluate appropriate countermeasures. - Students can identify and assess vulnerabilities in software systems and network protocols. - Students have an in-depth understanding of a range of important state-of-the-art security technologies. - Students can implement network-security protocols based on cryptographic libraries. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The course will cover topics spanning four broad themes with a focus on the first two themes: (1) network defense mechanisms such as public-key infrastructures, TLS, VPNs, anonymous-communication systems, secure routing protocols, secure DNS systems, and network intrusion-detection systems; (2) network attacks such as hijacking, spoofing, denial-of-service (DoS), and distributed denial-of-service (DDoS) attacks; (3) analysis and inference topics such as traffic monitoring and network forensics; and (4) new technologies related to next-generation networks. In addition, several guest lectures will provide in-depth insights into specific current real-world network-security topics. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | This lecture is intended for students with an interest in securing Internet communication services and network devices. Students are assumed to have knowledge in networking as taught in a communication networks lecture like 252-0064-00L or 227-0120-00L. Basic knowledge of information security or applied cryptography as taught in 252-0211-00L or 263-4660-00L is beneficial, but an overview of the most important cryptographic primitives will be provided at the beginning of the course. The course will involve several graded course projects. Students are expected to be familiar with a general-purpose or network programming language such as C/C++, Go, Python, or Rust. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kompetenzen![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
227-0575-00L | Advanced Topics in Communication Networks ![]() | W | 6 KP | 2V + 2U | L. Vanbever | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | This course covers advanced topics and technologies in computer networks, both theoretically and practically. It is offered each Fall. Repetition for credit is possible with the consent of the instructor. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | The goals of this course is to provide students with a deeper understanding of the existing and upcoming Internet technologies used in large-scale computer networks such as Internet Service Providers (e.g., Swisscom or Deutsche Telekom), Content Delivery Networks (e.g., Netflix) and Data Centers (e.g., Google). Besides covering the fundamentals, the course will be "hands-on" and will enable students to play with the technologies in realistic network environments. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | In 2023, the course will cover advanced topics in communication networks such as: - Advanced Internet routing (convergence, optimality, scalability, flexibility); - Network programmability (OpenFlow, P4); - Traffic engineering / Load Balancing; - Network verification and synthesis; - Network measurements; - Network security; - Upcoming transport protocols and technologies; - Adaptive video streaming; and - Network sustainability. The course will be composed of lectures and practical exercises (some of which including labs). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skript | Lecture notes and material will be made available before each course on the course website. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | Relevant references will be made available through the course website. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | Prerequisites: Communication Networks (227-0120-00L) or equivalents / programming skills (in any language) are expected (some of the exercises will involve coding). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kompetenzen![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
227-0579-00L | Hardware Security ![]() | W | 7 KP | 2V + 2U + 2A | K. Razavi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | This course covers the security of commodity computer hardware (e.g., CPU, DRAM, etc.) with a special focus on cutting-edge hands-on research. The aim of the course is familiarizing the students with hardware security and more specifically microarchitectural and circuit-level attacks and defenses through lectures and implementing some of these advanced attacks. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | By the end of the course, the students will be familiar with the state of the art in commodity computer hardware attacks and defenses. More specifically, the students will learn about: - security problems of commodity hardware that we use everyday and how you can defend against them. - relevant computer architecture and operating system aspects of these issues. - hands-on techniques for performing hardware attacks. This is the course where you get credit points by building some of the most advanced exploits on the planet! The luckiest team will collect a Best Demo Award at the end of the course. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | Slides, relevant literature and manuals will be made available during the course. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | Experience with Linux, low-level systems programming and computer architecture. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kompetenzen![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0811-00L | Applied Security Laboratory ![]() ![]() | W | 8 KP | 7P | D. Basin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Hands-on course on applied aspects of information security. Applied information security, operating system security, OS hardening, computer forensics, web application security, project work, design, implementation, and configuration of security mechanisms, risk analysis, system review. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | The Applied Security Laboratory addresses four major topics: operating system security (hardening, vulnerability scanning, access control, logging), application security with an emphasis on web applications (web server setup, common web exploits, authentication, session handling, code security), computer forensics, and risk analysis and risk management. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | This course emphasizes applied aspects of Information Security. The students will study a number of topics in a hands-on fashion and carry out experiments in order to better understand the need for secure implementation and configuration of IT systems and to assess the effectivity and impact of security measures. This part is based on a book and virtual machines that include example applications, questions, and answers. The students will also complete an independent project: based on a set of functional requirements, they will design and implement a prototypical IT system. In addition, they will conduct a thorough security analysis and devise appropriate security measures for their systems. Finally, they will carry out a technical and conceptual review of another system. All project work will be performed in teams and must be properly documented. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skript | The course is based on the book "Applied Information Security - A Hands-on Approach". More information: http://www.infsec.ethz.ch/appliedlabbook | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | Recommended reading includes: * Pfleeger, Pfleeger: Security in Computing, Third Edition, Prentice Hall, available online from within ETH * Garfinkel, Schwartz, Spafford: Practical Unix & Internet Security, O'Reilly & Associates. * Various: OWASP Guide to Building Secure Web Applications, available online * Huseby: Innocent Code -- A Security Wake-Up Call for Web Programmers, John Wiley & Sons. * Scambray, Schema: Hacking Exposed Web Applications, McGraw-Hill. * O'Reilly, Loukides: Unix Power Tools, O'Reilly & Associates. * Frisch: Essential System Administration, O'Reilly & Associates. * NIST: Risk Management Guide for Information Technology Systems, available online as PDF * BSI: IT-Grundschutzhandbuch, available online | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | * The lab allows flexible working since there are only few mandatory meetings during the semester. * The lab covers a variety of different techniques. Thus, participating students should have a solid foundation in the following areas: information security, operating system administration (especially Unix/Linux), and networking. Students are also expected to have a basic understanding of HTML, PHP, JavaScript, and MySQL because several examples are implemented in these languages. * Students must be prepared to spend more than three hours per week to complete the lab assignments and the project. This applies particularly to students who do not meet the recommended requirements given above. Successful participants of the course receive 8 credits as compensation for their effort. * All participants must sign the lab's charter and usage policy during the introduction lecture. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-1411-00L | Security of Wireless Networks ![]() | W | 6 KP | 2V + 1U + 2A | S. Capkun, K. Kostiainen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | This course discusses physical layer aspects of wireless communication and a wide range of security-related topics in the domain of wireless technologies. It mainly targets computer science students. Though useful, a background in signal processing or physical layer concepts is not required. A basic understanding of security (e.g. as taught in 252-0211.00L Information Security) is recommended. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | After this course, students should be able to describe and classify security goals of and attacks on various wireless networks and technologies, with an emphasis on physical layer aspects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | - Introduction to wireless communication - Physical layer security schemes - Spreading techniques and their application in jamming-resilient communication and Global Navigation Satellite Systems (GNSSs) - Secure ranging with Ultra-Wide Band (UWB) - Security aspects of cellular networks, WiFi, and Bluetooth Low Energy (BLE) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kompetenzen![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-4657-00L | Advanced Encryption Schemes | W | 5 KP | 2V + 1U + 1A | R. Gay | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Public-Key Encryption has had a significant impact by enabling remote parties to communicate securely via an insecure channel. Latest schemes go further by providing a fine-grained access to the encrypted data. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | The student is comfortable with formal security definitions and proof techniques used to analyze the security of the latest encryption schemes with advanced features. This prepares the student to start reading research papers on the field. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | We will start by presenting the notion of Public-Key Encryption with its various security guarantees and some constructions. Then we will look into encryption schemes with fine-grained access control to the encrypted data, such as identity-based encryption or attribute-based encryption and present different methodology to prove their security. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | Links to relevant research papers will be given in the course materials. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | It is recommended for students to have prior exposure to cryptography, e.g.the D-INFK course "Digital Signatures" or "Applied Cryptography". | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-4665-00L | Zero-Knowledge Proofs | W | 5 KP | 2V + 1U + 1A | J. Bootle | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Zero-knowledge proofs are protocols which allow a prover to convince a verifier that a statement is true without leaking any information beyond that fact. This course is a detailed introduction to zero-knowledge proof protocols. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | -To understand what it means for a zero-knowledge proof to be secure -To construct and analyse various types of zero-knowledge proofs -To understand some applications of zero-knowledge proofs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The course will discuss interactive zero-knowledge proofs based on various cryptographic assumptions, and their applications in cryptography and the real world. The course may also describe some more advanced constructions of non-interactive proofs. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skript | The course notes will be written in English. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | Students should have taken a first course in Cryptography (as taught in the Information Security course at Bachelor’s level). Experience with algebra and probability is desirable. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-4601-00L | Current Topics in Information Security ![]() ![]() 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. | W | 2 KP | 2S | S. Capkun, K. Paterson, A. Perrig, S. Shinde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | The seminar covers various topics in information security: security protocols (models, specification & verification), trust management, access control, non-interference, side-channel attacks, identity-based cryptography, host-based attack detection, anomaly detection in backbone networks, key-management for sensor networks. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | The main goals of the seminar are the independent study of scientific literature and assessment of its contributions as well as learning and practicing presentation techniques. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The seminar covers various topics in information security, including network security, cryptography and security protocols. The participants are expected to read a scientific paper and present it in a 35-40 min talk. At the beginning of the semester a short introduction to presentation techniques will be given. Selected Topics - security protocols: models, specification & verification - trust management, access control and non-interference - side-channel attacks - identity-based cryptography - host-based attack detection - anomaly detection in backbone networks - key-management for sensor networks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | The reading list will be published on the course web site. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
260-0100-00L | Semester Project ![]() | O | 12 KP | 26A | Professor/innen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | The Semester Project provides students with the opportunity to apply acquired knowledge and skills. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | The students can gain hand-on experience by solving independently a technical-scientific problem. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-3010-00L | Big Data ![]() ![]() | W | 10 KP | 3V + 2U + 4A | G. Fourny | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | The key challenge of the information society is to turn data into information, information into knowledge, knowledge into value. This has become increasingly complex. Data comes in larger volumes, diverse shapes, from different sources. Data is more heterogeneous and less structured than forty years ago. Nevertheless, it still needs to be processed fast, with support for complex operations. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | Do you want to be able to query your own data productively and efficiently in your future semester projects, master thesis, or PhD thesis? Are you looking for something beyond the Python+Pandas hype? This courses teaches you how to do so as well as the dos and don'ts. "Big Data" refers to the case when the amount of data is very large (100 GB and more), or when the data is not completely structured (or messy). The Big Data revolution has led to a completely new way to do business, e.g., develop new products and business models, but also to do science -- which is sometimes referred to as data-driven science or the "fourth paradigm". Unfortunately, the quantity of data produced and available -- now in the Zettabyte range (that's 21 zeros) per year -- keeps growing faster than our ability to process it. Hence, new architectures and approaches for processing it are needed. Harnessing them must involve a deep understanding of data not only in the large, but also in the small. The field of databases evolves at a fast pace. In order to be prepared, to the extent possible, to the (r)evolutions that will take place in the next few decades, the emphasis of the lecture will be on the paradigms and core design ideas, while today's technologies will serve as supporting illustrations thereof. After visiting this lecture, you should have gained an overview and understanding of the Big Data landscape, which is the basis on which one can make informed decisions, i.e., pick and orchestrate the relevant technologies together for addressing each one of your projects efficiently and consistently. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | This course gives an overview of database technologies and of the most important database design principles that lay the foundations of the Big Data universe. We take the monolithic, one-machine relational stack from the 1970s, smash it down and rebuild it on top of large clusters: starting with distributed storage, and all the way up to syntax, models, validation, processing, indexing, and querying. A broad range of aspects is covered with a focus on how they fit all together in the big picture of the Big Data ecosystem. No data is harmed during this course, however, please be psychologically prepared that our data may not always be in third normal form. - physical storage: distributed file systems (HDFS), object storage(S3), key-value stores - logical storage: document stores (MongoDB), column stores (HBase), graph databases (neo4j), data warehouses (ROLAP) - data formats and syntaxes (XML, JSON, RDF, Turtle, CSV, XBRL, YAML, protocol buffers, Avro) - data shapes and models (tables, trees, graphs, cubes) - type systems and schemas: atomic types, structured types (arrays, maps), set-based type systems (?, *, +) - an overview of functional, declarative programming languages across data shapes (SQL, XQuery, JSONiq, Cypher, MDX) - the most important query paradigms (selection, projection, joining, grouping, ordering, windowing) - paradigms for parallel processing, two-stage (MapReduce) and DAG-based (Spark) - resource management (YARN) - what a data center is made of and why it matters (racks, nodes, ...) - underlying architectures (internal machinery of HDFS, HBase, Spark, neo4j) - optimization techniques (functional and declarative paradigms, query plans, rewrites, indexing) - applications. Large scale analytics and machine learning are outside of the scope of this course. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | Course textbook: https://ghislainfourny.github.io/big-data-textbook/ Papers from scientific conferences and journals. References will be given as part of the course material during the semester. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | The lecture is hybrid, meaning you can attend with us in the lecture hall, or on Zoom, or watch the recordings on YouTube later. Exercise sessions are in presence. This course, in the autumn semester, is only intended for: - Computer Science students - Data Science students - CBB students with a Computer Science background Mobility students in CS are also welcome and encouraged to attend. If you experience any issue while registering, please contact the study administration and you will be gladly added. For students of all other departements interested in this fascinating topic: I would love to have you visit my lectures as well! So there is a series of two courses specially designed for you: - "Information Systems for Engineers" (SQL, relational databases): this Fall - "Big Data for Engineers" (similar to Big Data, but adapted for non Computer Scientists): Spring 2023 There is no hard dependency, so you can either them in any order, but it may be more enjoyable to start with Information Systems for Engineers. Students who successfully completed Big Data for Engineers are not allowed to enrol in the course Big Data. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kompetenzen![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-3845-00L | Data Management Systems ![]() Findet dieses Semester nicht statt. | W | 8 KP | 3V + 1U + 3A | G. Alonso | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | The 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 / Besonderes | The course requires to have completed the Data Modeling and Data Bases course at the Bachelor level as it assumes knowledge of databases and SQL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kompetenzen![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0535-00L | Advanced Machine Learning ![]() | W | 10 KP | 3V + 2U + 4A | J. M. Buhmann | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Machine 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | Students 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skript | No lecture notes, but slides will be made available on the course webpage. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | C. 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 / Besonderes | The 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-00L | System Security ![]() | W | 7 KP | 2V + 2U + 2A | S. Capkun, S. Shinde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | The first part of the course covers general security concepts and hardware-based support for security. In the second part, the focus is on system design and methodologies for building secure systems. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | In 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The first part of the lecture covers hardware-based security concepts. Topics include the concept of physical and software-based side channel attacks on hardware resources, architectural support for security (e.g., memory management and permissions, disk encryption), and trusted execution environments (Intel SGX, ARM TrustZone, AMD SEV, and RISC-V Keystone). In the second part, the focus is on system design and methodologies for building secure systems. Topics include: common software faults (e.g., buffer overflows, etc.), bug-detection, writing secure software (design, architecture, QA, testing), compiler-supported security (e.g., control-flow integrity), and language-supported security (e.g., memory safety). Along the lectures, model cases will be elaborated and evaluated in the exercises. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-2800-00L | Design of Parallel and High-Performance Computing ![]() ![]() | W | 9 KP | 2V + 2U + 4A | T. Hoefler | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Advanced topics in parallel and high-performance computing. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | Understand 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | We 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 / Besonderes | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-3210-00L | Deep Learning ![]() ![]() | W | 8 KP | 3V + 2U + 2A | T. Hofmann, N. Perraudin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Deep learning is an area within machine learning that deals with algorithms and models that automatically induce multi-level data representations. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | In recent years, deep learning and deep networks have significantly improved the state-of-the-art in many application domains such as computer vision, speech recognition, and natural language processing. This class will cover the mathematical foundations of deep learning and provide insights into model design, training, and validation. The main objective is a profound understanding of why these methods work and how. There will also be a rich set of hands-on tasks and practical projects to familiarize students with this emerging technology. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | This is an advanced level course that requires some basic background in machine learning. More importantly, students are expected to have a very solid mathematical foundation, including linear algebra, multivariate calculus, and probability. The course will make heavy use of mathematics and is not (!) meant to be an extended tutorial of how to train deep networks with tools like Torch or Tensorflow, although that may be a side benefit. The participation in the course is subject to the following condition: - Students must have taken the exam in Advanced Machine Learning (252-0535-00) or have acquired equivalent knowledge, see exhaustive list below: Advanced Machine Learning https://ml2.inf.ethz.ch/courses/aml/ Computational Intelligence Lab http://da.inf.ethz.ch/teaching/2019/CIL/ Introduction to Machine Learning https://las.inf.ethz.ch/teaching/introml-S19 Statistical Learning Theory http://ml2.inf.ethz.ch/courses/slt/ Computational Statistics https://stat.ethz.ch/lectures/ss19/comp-stats.php Probabilistic Artificial Intelligence https://las.inf.ethz.ch/teaching/pai-f18 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
263-3850-00L | Informal Methods ![]() | W | 5 KP | 2G + 2A | D. Cock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Formal 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | This 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | This 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). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0535-00L | Advanced Machine Learning ![]() | W | 10 KP | 3V + 2U + 4A | J. M. Buhmann | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Machine 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | Students 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inhalt | The 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skript | No lecture notes, but slides will be made available on the course webpage. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literatur | C. 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 / Besonderes | The 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-3210-00L | Deep Learning ![]() ![]() | W | 8 KP | 3V + 2U + 2A | T. Hofmann, N. Perraudin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kurzbeschreibung | Deep learning is an area within machine learning that deals with algorithms and models that automatically induce multi-level data representations. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lernziel | In recent years, deep learning and deep networks have significantly improved the state-of-the-art in many application domains such as computer vision, speech recognition, and natural language processing. This class will cover the mathematical foundations of deep learning and provide insights into model design, training, and validation. The main objective is a profound understanding of why these methods work and how. There will also be a rich set of hands-on tasks and practical projects to familiarize students with this emerging technology. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voraussetzungen / Besonderes | This is an advanced level course that requires some basic background in machine learning. More importantly, students are expected to have a very solid mathematical foundation, including linear algebra, multivariate calculus, and probability. The course will make heavy use of mathematics and is not (!) meant to be an extended tutorial of how to train deep networks with tools like Torch or Tensorflow, although that may be a side benefit. The participation in the course is subject to the following condition: - Students must have taken the exam in Advanced Machine Learning (252-0535-00) or have acquired equivalent knowledge, see exhaustive list below: Advanced Machine Learning https://ml2.inf.ethz.ch/courses/aml/ Computational Intelligence Lab http://da.inf.ethz.ch/teaching/2019/CIL/ Introduction to Machine Learning https://las.inf.ethz.ch/teaching/introml-S19 Statistical Learning Theory http://ml2.inf.ethz.ch/courses/slt/ Computational Statistics https://stat.ethz.ch/lectures/ss19/comp-stats.php Probabilistic Artificial Intelligence https://las.inf.ethz.ch/teaching/pai-f18 |
Seite 1 von 3
Alle