### Summaries

On this site you can find summaries I have been writing during my studies at the ETH in Zurich. They are all licensed as follows:

Creative Commons - Attribution-Share Alike 3.0 Unported

### Contents

1.3 Concepts of Object-Oriented Programming

1.4 Computational Intelligence Lab

1.5 Concepts of Concurrent Computation

2 Compulsory Major Courses (Bachelor Programme)

2.1 Algorithms, Probability and Computing

3 Compulsory Courses 4. Semester

3.1 Operating Systems and Networks

3.2 Data Modelling and Databases

4 Compulsory Courses 3. Semester

4.3 Probability and Statistics

4.4 Computer Architecture and Systems Programming

5.2 Data Structures and Algorithms

### Master Programme

#### Cryptographic Protocols

Taught by professor Ueli Maurer and Dr. Martin Hirt, FS2011. Written in English.

This summary covers most topics of this course; in particular zero-knowledge protocols, bit commitments, multiparty computation protocols, broadcast and consensus, and voting. Not heavily proof-read.

- Summary (.pdf, 752.40 KiB)
- Latex source (.zip, 478.09 KiB)

#### Algorithmic Game Theory

Taught by professor P. Widmayer and Dr. Matúš Mihalák, HS2010. Written in English.

This summary covers most topics of this course. Not heavily proof-read.

- Summary (.pdf, 525.88 KiB)
- Latex source (.zip, 225.50 KiB)

#### Concepts of Object-Oriented Programming

Taught by professor P. Müller, HS2010. Written in English.

This summary covers most topics of this course. Not heavily proof-read.

- Summary (.pdf, 2.84 MiB)
- MS Word 2007 source file (.docx, 2.68 MiB)

#### Computational Intelligence Lab

Taught by professor J. M. Buhmann, FS2011. Written in English.

Summary of the interfocus course Computational Intelligence Lab: Dimension reduction, principle component analysis (PCA), singular value decomposition (SVD), clustering, k-means, sampling, role mining and role-based access control, sparse coding, and image inpainting. Not heavily proof-read.

- Summary (.pdf, 848.18 KiB)
- Latex source (.zip, 502.42 KiB)

#### Concepts of Concurrent Computation

Taught by professor B. Meyer and Dr. S. Nanz, FS2011. Written in English.

Summary of the elective course Concepts of Concurrent Computation: Basic concurrency definitions, linear temporal logic, synchronization algorithms, semaphores, monitors, SCOOP, concurrent languages, lock-free approaches, and calculus of communicating systems (CCS). Not heavily proof-read.

- Summary (.pdf, 2.58 MiB)
- MS Word 2007 source file (.docx, 2.45 MiB)

### Compulsory Major Courses (Bachelor Programme)

#### Algorithms, Probability and Computing

Taught by professors E. Welzl, T. Holenstein, U. Maurer, A. Steger, and P. Widmayer, HS2010. Written in English.

This summary covers most topics of this course. Not heavily proof-read.

- Summary (.pdf, 585.27 KiB)
- Latex source (.zip, 832.89 KiB)

Changelog

- • 2011-02-08: Minor errors and typos.

#### Information Security

Taught by professor U. Maurer and professor D. Basin, FS2010. Written in English.

This summary covers most topics of this course. Not heavily proof-read.

- Summary (.pdf, 1.12 MiB)
- Latex source (.zip, 730.60 KiB)

Changelog

- • 2010-08-20: Small improvements, corrected definition of safety properties, typos.

#### Software Architecture

Taught by professor B. Meyer, FS2010. Written in English.

This summary covers most topics of this course. Not heavily proof-read.

- Summary (.pdf, 3.95 MiB)
- MS Word 2007 source file (.docx, 4.05 MiB)

Changelog

- • 2011-06-30: Typos.
- • 2010-06-01: Typos.
- • 2010-05-31: Added several small sections (
*difference between strategy pattern and bridge pattern*,*difference between builder and abstract factory*,*specification coverage*, and*mutation testing*) and fixed a few typos.

### Compulsory Courses 4. Semester

#### Operating Systems and Networks

Taught by professor T. Roscoe and Professor G. Alonso, FS2010. Written in English.

This summary covers most topics of this course. Not heavily proof-read.

- Summary (.pdf, 5.81 MiB)
- MS Word 2007 source file (.docx, 5.90 MiB)

Changelog

- • 2011-06-30: Typos.
- • 2010-06-09: Typos and other small fixes.

#### Data Modelling and Databases

Taught by professor D. Kossmann, FS2010. Written in German.

This summary covers most topics of this course, such as data modelling with ER, relational model, relational algebra, normal forms, SQL, data integrity, transaction management and security. Not heavily proof-read.

- Summary (.pdf, 1.91 MiB)
- MS Word 2007 source file (.docx, 509.23 KiB)

Changelog

- • 2010-08-05: Added a chapter on data storage and query processing.

### Compulsory Courses 3. Semester

#### Theory of Computing

Taught by professor J. Hromkovic and professor E. Welzl, HS2009. Written in German.

Summary of the introduction to the theory of computing: Formal languages, Kolmogorov complexity, formal grammars, nondeterministic pushdown automata, turing machines and computability.

- Summary (.pdf, 249.07 KiB)
- Latex source (.zip, 18.68 KiB)

#### Numerical Methods

Taught by professor R. Hiptmair, HS2009. Written in English.

This summary covers all topics of this course, including all definitions, lemmas and theorems. Also, there are alot of explanations and remarks.

- Summary (.pdf, 612.84 KiB)
- Latex source (.zip, 45.84 KiB)

#### Probability and Statistics

Taught by professor P. L. Bühlmann, HS2009. Written in German.

Summary for the final exam (print two pages onto one side to meet the number of sites restriction). Contains all important definitions, formulas, approaches and an appendix.

- Summary (.pdf, 453.05 KiB)
- Latex source (.zip, 27.98 KiB)

#### Computer Architecture and Systems Programming

Taught by professor T. Gross and professor S. Freudenberger, HS2009. Written in English.

This summary covers all topics of this course. Not heavily proof-read.

- Summary (.pdf, 1.80 MiB)
- MS Word 2007 source file (.docx, 857.70 KiB)

Changelog

- • 2011-02-01: Fix invalid definition of
TAdd

on page 7, section 1.2.4._{w}

### First Year

#### Analysis I & II

Taught by professor M. Struwe, HS2008 and FS2009. Written in German.

Besides all topics of the course, this summary also contains an appendix with integral and differentialtables, as well as other useful formulas. The summary has been carefully proof-read, and therefore should contain only very few mistakes.

- Summary (.pdf, 621.01 KiB)
- Latex source (.zip, 170.31 KiB)

Changelog

- • 2010-10-15: Fix typos and minor errors.

#### Data Structures and Algorithms

Taught by professor P. Widmayer, FS2009. Written in German.

Selected topics have been summarized in individual PDF files, whereby a big part of the course material should be covered. Topics include: Trees (B-, interval-, segment-, splay- and rangetrees), Fibonacci heaps, graph algorithms, hashing and sorting. I tried to summarize the topics understandable while revealing relationships with related issues. The summaries have been hardly proof-read, and therefore mistakes are possible.

- Summary (multiple PDFs) (.zip, 5.40 MiB)
- MS Word 2007 source files (.zip, 693.42 KiB)

Changelog

- • 2010-10-15: Invalid runtime for some algorihms (affected files:
*sorting.pdf*). - • 2010-06-22: Quadratic probing is defined as
*s(k,j)=floor(j/2)·(-1)*rather then^{j}*s(k,j)=floor(j/2)·(-1)*(affected files:^{n}*hashing.pdf*). - • 2010-05-26: In a min-heap, the smallest element is always at the root (affected files:
*fibonacci-heaps.pdf*).

#### Introduction to Programming

Taught by professor B. Meyer, HS2008. Written in English.

This summary covers all topics of this course. Not heavily proof-read.

- Summary (.pdf, 838.54 KiB)
- MS Word 2007 source file (.docx, 247.76 KiB)

Changelog

- • 2010-10-15: Fix typos and minor errors.

#### Parallel Programming

Taught by professor T. Gross, FS2009. Written in English.

This summary covers all topics of this course. Not heavily proof-read.

- Summary (.pdf, 1.03 MiB)
- MS Word 2007 source file (.docx, 445.50 KiB)

Changelog

- • 2010-10-15: Fix typos and minor errors.
- • 2010-07-03: Minor improvements (differentiate between
*try-statement*'s and*try-block*'s) - • 2010-02-08: More typos.
- • 2010-01-30: Small typos.

#### Design of Digital Circuits

Taught by professor D. Kröning, FS2009. Written in German.

This summary is intended as exam aid, thus covering topics that are
relevant to the exam. Most parts are written as *cheet sheets*,
containing only the most important information.

- Summary (.pdf, 788.00 KiB)
- Latex source (.zip, 716.89 KiB)