├── Algorithms&DataStructures.pdf ├── Algorithms&Probability.pdf ├── ComputerSystems.pdf ├── Cryptography.pdf ├── FinancialEconomics.pdf ├── LICENSE ├── MachineLearning.pdf ├── ParallelProgramming.pdf ├── README.md ├── ReproducibleDataScience.pdf ├── SystemsProgramming.pdf ├── VisualComputing.pdf └── images ├── algodat.jpg ├── algowar.jpg ├── crypto.jpg ├── finance.jpg ├── machine-learning.png ├── parallel.jpg ├── reproducibleDS.jpg ├── systems.jpg ├── systemsprog.jpg └── visualcomp.jpg /Algorithms&DataStructures.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/Algorithms&DataStructures.pdf -------------------------------------------------------------------------------- /Algorithms&Probability.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/Algorithms&Probability.pdf -------------------------------------------------------------------------------- /ComputerSystems.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/ComputerSystems.pdf -------------------------------------------------------------------------------- /Cryptography.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/Cryptography.pdf -------------------------------------------------------------------------------- /FinancialEconomics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/FinancialEconomics.pdf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Soel Micheletti 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MachineLearning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/MachineLearning.pdf -------------------------------------------------------------------------------- /ParallelProgramming.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/ParallelProgramming.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ETH-Summaries 2 | 3 | Summaries of selected courses at ETH Zurich 4 | 5 | If you find any mistakes, please drop me a line: soel.micheletti@alumni.ethz.ch 6 | 7 | ## [Algorithms & Data Structures](/Algorithms&DataStructures.pdf) 8 | 9 | First semester course introducing the basics. Main topics include: 10 | 11 | - Basic properties: correctness and efficiency 12 | - Asymptotic notation 13 | - Divide and Conquer paradigm 14 | - Sorting and Searching algorithms 15 | - Data strucutres: Lists, queues, stacks, heps, (balanced) binary search trees... 16 | - Graph algorithms: DFS, BFS, shortest paths, minimum spanning trees... 17 | 18 | ![Alt text](/images/algodat.jpg?raw=true "Title") 19 | 20 | ## [Algorithms & Probability](/Algorithms&Probability.pdf) 21 | 22 | Second semester course. Concepts in Algorithms & Data Structures are expanded or rivisited, often in a slightly more theoretical/ proof oriented approach. Main topics include: 23 | 24 | - More graph algorithms: matchings, coloring, network flows, Eulerian/ Hamilton circles, TSP... 25 | - Introduction to discrete probability: random variables with their main properties, some notable distributions, coupon collector problem, famous inequalities and bounds (Markov, Chebishev, Chernoff). 26 | - Randomised algorithms (Monte Carlo and Las Vegas). Examples include Min-Cuts, (short) longest paths, target shooting, hashing... 27 | - Geometric algorithms: smallest enclosing circle, Jarvis March, convex hull... 28 | 29 | ![Alt text](/images/algowar.jpg?raw=true "Title") 30 | 31 | ## [Computer Systems](/ComputerSystems.pdf) 32 | 33 | First part of the core course on Distributed Systems. Topics include: 34 | 35 | - Kernel 36 | - Processes and inter-process communication 37 | - Scheduling 38 | - Memory Systems 39 | - File Systems 40 | 41 | 42 | ![Alt text](/images/systems.jpg?raw=true "Title") 43 | 44 | ## [Cryptography](/Cryptography.pdf) 45 | 46 | First part of the Information Security course (core course in Theoretical Computer Science). Covered topics include: 47 | 48 | - Basic concepts (encryption vs decryption, private vs public key cryptography, authentication...) 49 | - Perfectly secret schemes (e.g. One Time Pad) 50 | - Authentication alorithms and hash functions: CBC-MAC, NMAC, HMAC... 51 | - Diffie-Hellmann and RSA algorithms 52 | - Zero knowledge proofs 53 | - Commitment schemes 54 | 55 | ![Alt text](/images/crypto.jpg?raw=true "Title") 56 | 57 | ## [Financial Economics](/FinancialEconomics.pdf) 58 | 59 | Interdisciplinary course of the MSc Data Science Program. It covers important introductory topics in financial analysis, including: 60 | 61 | - Forward contracts (hedging, speculation) 62 | - Option contracts: long/ short put/ call and strategies in different scenarios. 63 | - Pricing by arbitrage 64 | - Market equilibria 65 | - Choice under uncertanty 66 | - Risk management models: Mean Variance Analysis, CAPM, consumption base CAPM 67 | 68 | ![Alt text](/images/finance.jpg?raw=true "Title") 69 | 70 | ## [Introduction to Machine Learning](/MachineLearning.pdf) 71 | 72 | Largest course at ETH, it covers many crucial concepts in Machine Learning such as: 73 | 74 | - Basics (regression vs classification, bias-variance trade-off, model selection, regularization, how to handle imbalanced datasets...) 75 | - Support Vector Machines, Kernels, Polynomical regression... 76 | - Neural Networks: backpropagation, optimizers, gradient descent, CNNs, GANs... 77 | - Dimensionality reduction (PCA, autoencoders...) 78 | - Miscellaneous: K-Means algorithm for clustering, Mixture models, generative models... 79 | 80 | ![Alt text](/images/machine-learning.png?raw=true "Title") 81 | 82 | ## [Parallel Programming](/ParallelProgramming.pdf) 83 | 84 | First year course, that covers many cool topics such as: 85 | 86 | - Definition of thread, bad interleaving, race condition, task graph... 87 | - Different ways to achieve mutual exclusion (locks, atomic operations, transactional memory) and their pros/cons 88 | - Low-level implementation of a lock 89 | - Theoretical perspective: Amdahl's and Gustafson's laws, linearizability, (sequential) consistency, consensus, parallel sorting... 90 | - Message Passing Interface 91 | 92 | ![Alt text](/images/parallel.jpg?raw=true "Title") 93 | 94 | ## [Reproducible Data Science](/ReproducibleDataScience.pdf) 95 | 96 | Lecture I took during my time at Harvard. Topics include: 97 | 98 | - Criteria to assess the reproducibility and replicability of a research 99 | - Data Provenance 100 | - Best practices to create a fully reproducible research project 101 | - Computational and statistical tools 102 | 103 | ![Alt text](/images/reproducibleDS.jpg?raw=true "Title") 104 | 105 | ## [Systems Programming and Computer Architecture](/SystemsProgramming.pdf) 106 | 107 | Second year course including many topics such as: 108 | 109 | - Bit hacks 110 | - Binary representation (two's complements, floating points...) 111 | - Dynamic Memory allocation 112 | - Assembly languages 113 | - Computer Architectures 114 | - Compilers 115 | - Caches 116 | - Memory 117 | 118 | ![Alt text](/images/systemsprog.jpg?raw=true "Title") 119 | 120 | ## [Visual Computing](/VisualComputing.pdf) 121 | 122 | Core course. Topics include: 123 | 124 | - Image segmentation 125 | - Convolution with famous filters for template matching 126 | - Fourier transform 127 | - Optical flow 128 | - Texture and rendering 129 | - Physically based animation 130 | 131 | ![Alt text](/images/visualcomp.jpg?raw=true "Title") 132 | -------------------------------------------------------------------------------- /ReproducibleDataScience.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/ReproducibleDataScience.pdf -------------------------------------------------------------------------------- /SystemsProgramming.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/SystemsProgramming.pdf -------------------------------------------------------------------------------- /VisualComputing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/VisualComputing.pdf -------------------------------------------------------------------------------- /images/algodat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/algodat.jpg -------------------------------------------------------------------------------- /images/algowar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/algowar.jpg -------------------------------------------------------------------------------- /images/crypto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/crypto.jpg -------------------------------------------------------------------------------- /images/finance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/finance.jpg -------------------------------------------------------------------------------- /images/machine-learning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/machine-learning.png -------------------------------------------------------------------------------- /images/parallel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/parallel.jpg -------------------------------------------------------------------------------- /images/reproducibleDS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/reproducibleDS.jpg -------------------------------------------------------------------------------- /images/systems.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/systems.jpg -------------------------------------------------------------------------------- /images/systemsprog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/systemsprog.jpg -------------------------------------------------------------------------------- /images/visualcomp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soelmicheletti/eth-summaries/ea8d76373ec040aa1ad950ec96a6e50a877cd1ce/images/visualcomp.jpg --------------------------------------------------------------------------------