Do, 10 -12 Uhr c.t.,
15.10.2026 bis 04.02.2027 
11 SWS
 
Prof.-Huber-Pl. 2 (V) - LEHRTURM-VU104

https://web-archiv.uni-muenchen.de//funktionen/gebaeudeplaene/0420_d_u1.pdf

Machine learning is changing the world. It can be found in almost all segments including healthcare services, education, transport, food, entertainment and many more. Specifically, in the field of computer vision, machine learning techniques have enabled programs to interpret and understand the world, sometimes even better than humans. In this course, we will work on several projects to solve several computer vision tasks using python. The students will have a chance to get their hands on the classical (or potentially deep) machine learning algorithms in teams, and apply those techniques to some of the most interesting topics in computer vision.

Description
Software vulnerabilities are a major security risk, frequently exploited in cyber attacks that lead to data breaches and even bankruptcy of companies. Alarmingly, around 70% of all high-severity vulnerabilities stem from manual memory management bugs. Yet, most of the software we rely on (operating systems, web browsers, databases, IoT software, ...) is written in inherently memory-unsafe languages like C and C++. In response, many organizations are now transitioning to memory-safe programming languages for newly written code to mitigate these risks.

Rust is a modern systems programming language that offers memory safety without sacrificing performance. It enables fast, native execution and is suitable for the entire software stack - from low-level embedded systems to web services that scale to millions of concurrent users. Rust has topped Stack Overflow’s “most loved language” ranking for nine years in a row, critical components are rewritten in Rust in Firefox, Google Chrome, Android and Ubuntu and major tech companies (Mozilla, Google, Amazon, Meta, ...) actively contribute to Rust and its ecosystem.

In this course, you will learn about how memory is represented and managed, which responsibilities Java and the JVM normally handle for you, and how Rust uniquely approaches these problems through ownership and borrowing.

During the first few weeks, we will discuss programming concepts, you will have time to learn Rust, practice programming and catch up on adjacent topics such as the shell and Git.
This phase concludes with an individual assignment where you demonstrate your learning progress.
During the remainder of the semester, you will work in a team of four to design and implement a project of your own choice.

Prerequisites
We strongly encourage you to only take this course after successfully passing EiP with a good grade.
Some concepts covered in ProMo may also help you but are not strictly required.

This is an intensive practical course. You must be able to commit approximately 24 hours per week throughout the entire course, up to the oral exam in the second week of March.