Search result: Catalogue data in Spring Semester 2022
Computer Science Bachelor ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number | Title | Type | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
252-0058-00L | Formal Methods and Functional Programming ![]() | O | 7 credits | 4V + 2U | P. Müller, C. Sprenger | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | In this course, participants will learn about new ways of specifying, reasoning about, and developing programs and computer systems. The first half will focus on using functional programs to express and reason about computation. The second half presents methods for developing and verifying programs represented as discrete transition systems. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | In this course, participants will learn about new ways of specifying, reasoning about, and developing programs and computer systems. Our objective is to help students raise their level of abstraction in modeling and implementing systems. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The first part of the course will focus on designing and reasoning about functional programs. Functional programs are mathematical expressions that are evaluated and reasoned about much like ordinary mathematical functions. As a result, these expressions are simple to analyze and compose to implement large-scale programs. We will cover the mathematical foundations of functional programming, the lambda calculus, as well as higher-order programming, typing, and proofs of correctness. The second part of the course will focus on deductive and algorithmic validation of programs modeled as transition systems. As an example of deductive verification, students will learn how to formalize the semantics of imperative programming languages and how to use a formal semantics to prove properties of languages and programs. As an example of algorithmic validation, the course will introduce model checking and apply it to programs and program designs. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0063-00L | Data Modelling and Databases ![]() | O | 7 credits | 4V + 2U | C. Zhang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Data modelling (Entity Relationship), relational data model, relational design theory (normal forms), SQL, database integrity, transactions and advanced database engines | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Introduction to relational databases and data management. Basics of SQL programming and transaction management. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | The course covers the basic aspects of the design and implementation of databases and information systems. The courses focuses on relational databases as a starting point but will also cover data management issues beyond databases such as: transactional consistency, replication, data warehousing, other data models, as well as SQL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 7. Auflage, 2009. Garcia-Molina, Ullman, Widom: Database Systems: The Complete Book. Pearson, 2. Auflage, 2008. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
252-0064-00L | Computer Networks ![]() | O | 7 credits | 4V + 2U | A. Perrig, M. Legner | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | This introductory course on computer networking covers essential network technologies from every layer of the networking stack, ranging from networked applications over transport protocols and routing paradigms all through the physical layer. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | Students will get a comprehensive overview of the key protocols and the architecture of the Internet, as one example of more general principles in network design. Students will also acquire hands-on experience in programming different aspects of a computer networks. Apart from the state-of-the-art in networking practice, students will explore the rationale for the design choices that networks in the past have made, and where applicable, why these choices may no longer be ideal. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lecture notes | The slides for each lecture will be made available through the course Web page, along with additional reference material. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Literature | Computer Networking: A Top-Down Approach, James F. Kurose and Keith W. Ross. Pearson; 7th edition (May 6, 2016) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites / Notice | The bonus projects use programming in C and Python. ETH courses in the Bachelor track before this course already cover this. For other students, e.g., exchange, please take note of this requirement: you can still take the course and get a good (even 6/6) grade, but if you don't fulfill this prerequisite, you are disadvantaged compared to others who can get the bonus points. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competencies![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401-0614-00L | Probability and Statistics ![]() | O | 5 credits | 2V + 2U | V. Tassion | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Abstract | Einführung in die Wahrscheinlichkeitstheorie und Statistik | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning objective | a) Fähigkeit, die behandelten wahrscheinlichkeitstheoretischen Methoden zu verstehen und anzuwenden b) Probabilistisches Denken und stochastische Modellierung c) Fähigkeit, einfache statistische Tests selbst durchzuführen und die Resultate zu interpretieren | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content | Wahrscheinlichkeitsraum, Wahrscheinlichkeitsmass, Zufallsvariablen, Verteilungen, Dichten, Unabhängigkeit, bedingte Wahrscheinlichkeiten, Erwartungswert, Varianz, Kovarianz, Gesetz der grossen Zahlen, Zentraler Grenzwertsatz, grosse Abweichungen, Chernoff-Schranken, Maximum-Likelihood-Schätzer, Momentenschätzer, Tests, Neyman-Pearson Lemma, Konfidenzintervalle |
Page 1 of 1