Elective courses MAS and DAS
Follow your passion: with an unparalleled range of courses designed to cater to all areas of personal interest. Options vary from MAS to DAS programmes.
Elective courses for MAS and DAS students
- Advanced Encryption Schemes (263-4657-00L, 5 ECTS points, Autumn Semester): 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.
- Advanced Systems Lab (263-0007-00L, 8 ECTS points, Spring Semester): This course introduces the student to the foundations and state-of-the-art techniques in developing high performance software for mathematical functionality occurring in various fields in computer science. The focus is on optimizing for a single core and includes optimizing for the memory hierarchy, for special instruction sets, and the possible use of automatic performance tuning.
- Advanced Topics in Communication Networks (227-0575-00L, 6 ECTS points, Autumn Semester): 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.
- Algorithms Lab (263-0006-00L, 8 ECTS points, Autumn Semester): The objective of this course is to learn how to solve algorithmic problems given by a textual description. This includes appropriate problem modeling, choice of suitable (combinatorial) algorithms, and implementing them (using C/C++, STL, CGAL, and BGL).
- Applied Cryptography (263-4660-00, 8 ECTS points, Spring Semester): This course will introduce the basic primitives of cryptography, using rigorous syntax and game-based security definitions. The course will show how these primitives can be combined to build cryptographic protocols and systems.
- Applied Security Laboratory (268-0102-00, 5 ECTS points, Autumn Semester): 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.
- Cloud Computing Architecture (263-3855-00L, 9 ECTS points, Spring Semester): After successful completion of this course, students will be able to: 1) reason about performance, energy efficiency, and availability tradeoffs in the design of cloud system software, 2) describe how datacenter hardware is organized and explain why it is organized as such, 3) implement cloud applications as well as analyze and optimize their performance.
- Computational Intelligence Lab (263-0008-00L, 8 ECTS points, Spring Semester): This laboratory course teaches fundamental concepts in computational science and machine learning with a special emphasis on matrix factorization and representation learning. The class covers techniques like dimension reduction, data clustering, sparse coding, and deep learning as well as a wide spectrum of related use cases and applications.
- Computer-Aided Modelling and Reasoning (263-4630-00L, 8 ECTS points, Spring Semester): The "computer-aided modelling and reasoning" lab is a hands-on course about using an interactive theorem prover to construct formal models of algorithms, protocols, and programming languages and to reason about their properties. The lab has two parts: The first introduces various modelling and proof techniques. The second part consists of a project in which the students apply these techniques.
- Contemporary Topics in Cyber Security (268-0202-00, 3 ECTS points, Autumn Semester): This course is composed of various sub-modules related to Cyber Security taught by experts on the relevant fields.
- Cryptographic Protocols (252-0408-00, 6 ECTS points, Spring Semester): 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.
- Digital Signatures (263-4656-00, 5 ECTS points, Spring Semester): Digital signatures as one central cryptographic building block. Different security goals and security definitions for digital signatures, followed by a variety of popular and fundamental signature schemes with their security analyses.
- Formal Methods for Information Security (263-4600-00, 5 ECTS points, Spring Semester): The course focuses on formal methods for the modelling and analysis of security protocols for critical systems, ranging from authentication protocols for network security to electronic voting protocols and online banking. The course is not offered in spring semester 2023. The exam will take place.
- Hardware Security (227-0579-00L, 7 ECTS points, Autumn Semester): 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.
- Human-Centered IT Security and Privacy (851-0390-00L, 3 ECTS points, Spring Semester): Students will gain an overview of the role of the human in security and privacy, learn about the relevance of human-centered design and important psychological aspects. Selected security- and privacy-related application scenarios will be presented and discussed. Furthermore, practical exercises and group work activities are used to showcase human-related aspects and foster reflection.
- Information Security (252-0211-00L, 8 ECTS points, Spring Semester): This course provides an introduction to Information Security. The focus is on fundamental concepts and models, basic cryptography, protocols and system security, and privacy and data protection. While the emphasis is on foundations, case studies will be given that examine different realizations of these ideas in practice.
- Information Security Lab (263-0009-00L, 8 ECTS points, Autumn Semester): This course will introduce key concepts from Information Security, both from attack and defence perspectives. Students will gain an appreciation of the complexity and challenge of building secure systems.
- Information Security Seminar and Project (268-0201-00, 2 ECTS points, Autumn Semester): Participants of the seminar are assigned a recent topic in cyber security. They are expected to become acquainted with the assigned issue and to prepare a corresponding presentation in the context of the seminar.
- Introduction to Machine Learning (252-0220-00L, 8 ECTS points, Spring Semester): The course will introduce the foundations of learning and making predictions from data. We will study basic concepts such as trading goodness of fit and model complexitiy. We will discuss important machine learning algorithms used in practice, and provide hands-on experience in a course project.
- Privacy and Enhancing Technologies (263-4658-00, 7 ECTS points, Autumn Semester): Privacy is a fundamental human right! And yet, technological advances (in particular in computer science) can often undermine privacy. In this class we will see how to formalize various notions of privacy and how to build systems that preserve privacy, by combining techniques from cryptography and statistics. The first half of the class will cover topics from cryptography such as secure multiparty computation, zero-knowledge proofs, PIR, ORAM, anonymous communication, etc. The second half will cover statistical notions of privacy, in particular differential privacy, and selected topics in machine learning privacy.
- Program Analysis for System Security and Reliability (263-2925-00L, 7 ECTS points, Spring Semester): Security issues in modern systems (blockchains, datacenters, deep learning, etc.) result in billions of losses due to hacks and system downtime. This course introduces fundamental techniques (ranging over automated analysis, machine learning, synthesis, zero-knowledge, differential privacy, and their combinations) that can be applied in practice so to build more secure and reliable modern systems.
- Security Engineering (252-0463-00, 7 ECTS points, Autumn Semester): This course focuses on methods to develop security-critical systems. For example, methods to model and implement access control are discussed, as well as extensions of modeling frameworks to capture security aspects of systems under constructions (e.g., Secure UML).
- Security of Wireless Networks (252-1411-00, 6 ECTS points, Autumn Semester): The course focuses on security properties and requirements of wireless networks and protocols for this type of network.
- Zero-Knowledge Proofs (263-4665-00L, 5 ECTS points, Autumn Semester): 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.
Further elective courses on information security related topics, such as "Privacy" or "Software Security", are planned to be offered soon.

Start with a strong foundation and rise to new heights of expertise.