Suchergebnis: Katalogdaten im Frühjahrssemester 2018

Informatik Bachelor Information
Bachelor-Studium (Studienreglement 2016)
Kernfächer
Vertiefung Systems and Software Engineering
NummerTitelTypECTSUmfangDozierende
252-0210-00LCompiler DesignO8 KP4V + 3UT. Gross
KurzbeschreibungDiese Vorlesung benutzt Compiler als Beispiel für moderne Software Entwicklung. Dazu werden die Kernthemen des Compilerbaus behandelt: Syntax Analyse, Symboltabellen, Code Erzeugung. Die Vorlesung und Uebungen geben den Studierenden eine gute Gelegenheit, Muster in diversen Kontexten anzuwenden.
LernzielLearn principles of compiler design, gain practical experience designing and implementing a medium-scale software system.
InhaltThis course uses compilers as example to expose modern software development techniques. The course introduces the students to the fundamentals of compiler construction. Students will implement a simple yet complete compiler for an object-oriented programming language for a realistic target machine. Students will learn the use of appropriate tools (parser generators); the implementation language is Java. Throughout the course, students learn to apply their knowledge of theory (automata, grammars, stack machines, program transformation) and well-known programming techniques (module definitions, design patterns, frameworks, software reuse) in a software project.
Specific topics: Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: expression evaluation, straight line code, conditionals, loops, procedure calls, simple register allocation techniques. Storage allocation on the stack, parameter passing, runtime storage management, heaps. Special topics as time permits: introduction to global dataflow and its application to register allocation, instruction scheduling, practical application of the techniques and principles presented in the lecture in the context of the OpenJDK HotSpot Java Virtual Machine.
LiteraturAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Voraussetzungen / BesonderesPrerequisites:
Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level.
252-0216-00LSoftware Architecture and Engineering Information O8 KP4V + 3UP. Müller, M. Vechev
KurzbeschreibungThis course introduces both theoretical and applied aspects of software engineering and analysis. It covers:

- Software Architecture
- Informal and formal Modeling
- Design Patterns
- Code Refactoring
- Program Testing
- Dynamic Program Analysis
- Static Program Analysis
LernzielThe course has two main objectives:

- Obtain an end-to-end (both, theoretical and practical) understanding of the core techniques used for building quality software.

- Understand how to apply these techniques in practice.
InhaltSome of the core technical topics covered will be:

- modeling and mapping of models to code
- common code design patterns
- functional and structural testing
- dynamic and static analysis
LiteraturWill be announced in the lecture.
Vertiefung Information and Data Processing
NummerTitelTypECTSUmfangDozierende
252-0220-00LIntroduction to Machine Learning Information
Previously called Learning and Intelligent Systems

Prof. Krause approves that students take distance exams, also if the exam will take place at a later time due to a different time zone of the alternative exam place.
To get Prof. Krause's signature on the distance exam form please send it to Rita Klute, rita.klute@inf.ethz.ch.
O8 KP4V + 2U + 1AA. Krause
KurzbeschreibungThe course introduces the foundations of learning and making predictions based on data.
LernzielThe 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.
Inhalt- Linear regression (overfitting, cross-validation/bootstrap, model selection, regularization, [stochastic] gradient descent)
- Linear classification: Logistic regression (feature selection, sparsity, multi-class)
- Kernels and the kernel trick (Properties of kernels; applications to linear and logistic regression; k-NN
- The statistical perspective (regularization as prior; loss as likelihood; learning as MAP inference)
- Statistical decision theory (decision making based on statistical models and utility functions)
- Discriminative vs. generative modeling (benefits and challenges in modeling joint vy. conditional distributions)
- Bayes' classifiers (Naive Bayes, Gaussian Bayes; MLE)
- Bayesian networks and exact inference (conditional independence; variable elimination; TANs)
- Approximate inference (sum/max product; Gibbs sampling)
- Latent variable models (Gaussian Misture Models, EM Algorithm)
- Temporal models (Bayesian filtering, Hidden Markov Models)
- Sequential decision making (MDPs, value and policy iteration)
- Reinforcement learning (model-based RL, Q-learning)
LiteraturTextbook: Kevin Murphy: A Probabilistic Perspective, MIT Press
Voraussetzungen / BesonderesDesigned to provide basis for following courses:
- Advanced Machine Learning
- Data Mining: Learning from Large Data Sets
- Probabilistic Artificial Intelligence
- Probabilistic Graphical Models
- Seminar "Advanced Topics in Machine Learning"
Vertiefung Theoretical Computer Science
NummerTitelTypECTSUmfangDozierende
252-0211-00LInformation Security Information O8 KP4V + 3UD. Basin, S. Capkun
KurzbeschreibungThis 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.
LernzielMaster fundamental concepts in Information Security and their
application to system building. (See objectives listed below for more details).
Inhalt1. Introduction and Motivation (OBJECTIVE: Broad conceptual overview of information security) Motivation: implications of IT on society/economy, Classical security problems, Approaches to
defining security and security goals, Abstractions, assumptions, and trust, Risk management and the human factor, Course verview. 2. Foundations of Cryptography (OBJECTIVE: Understand basic
cryptographic mechanisms and applications) Introduction, Basic concepts in cryptography: Overview, Types of Security, computational hardness, Abstraction of channel security properties, Symmetric
encryption, Hash functions, Message authentication codes, Public-key distribution, Public-key cryptosystems, Digital signatures, Application case studies, Comparison of encryption at different layers, VPN, SSL, Digital payment systems, blind signatures, e-cash, Time stamping 3. Key Management and Public-key Infrastructures (OBJECTIVE: Understand the basic mechanisms relevant in an Internet context) Key management in distributed systems, Exact characterization of requirements, the role of trust, Public-key Certificates, Public-key Infrastructures, Digital evidence and non-repudiation, Application case studies, Kerberos, X.509, PGP. 4. Security Protocols (OBJECTIVE: Understand network-oriented security, i.e.. how to employ building blocks to secure applications in (open) networks) Introduction, Requirements/properties, Establishing shared secrets, Principal and message origin authentication, Environmental assumptions, Dolev-Yao intruder model and
variants, Illustrative examples, Formal models and reasoning, Trace-based interleaving semantics, Inductive verification, or model-checking for falsification, Techniques for protocol design,
Application case study 1: from Needham-Schroeder Shared-Key to Kerberos, Application case study 2: from DH to IKE. 5. Access Control and Security Policies (OBJECTIVES: Study system-oriented security, i.e., policies, models, and mechanisms) Motivation (relationship to CIA, relationship to Crypto) and examples Concepts: policies versus models versus mechanisms, DAC and MAC, Modeling formalism, Access Control Matrix Model, Roll Based Access Control, Bell-LaPadula, Harrison-Ruzzo-Ullmann, Information flow, Chinese Wall, Biba, Clark-Wilson, System mechanisms: Operating Systems, Hardware Security Features, Reference Monitors, File-system protection, Application case studies 6. Anonymity and Privacy (OBJECTIVE: examine protection goals beyond standard CIA and corresponding mechanisms) Motivation and Definitions, Privacy, policies and policy languages, mechanisms, problems, Anonymity: simple mechanisms (pseudonyms, proxies), Application case studies: mix networks and crowds. 7. Larger application case study: GSM, mobility
  •  Seite  1  von  1