Lehramt für Informatik
Computer Science
0132d_m30-
Fundamentals of Programming
0132dA1.1-
19300001
Lecture
Fundamentals of Programming (Kristin Knorr)
Schedule: Mo 14:00-16:00, Mi 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
Location: Gr. Hörsaal (Raum B.001) (Arnimallee 22)
Comments
Qualification goals
The students can explain and compare different programming paradigms. They are able to interpret descriptions and source code related to fundamental data structures, to characterize how they work, and to implement basic algorithms and data structures in different programming paradigms, adapting them to given requirements. They can discuss the advantages and disadvantages of different solutions for algorithmic problems.
Contents
Students acquire the fundamentals of programming. We will discuss basic programming paradigms, such as imperative, functional, and object oriented. Students will learn about expressions and data types, as well as fundamental aspects of imperative programming (e.g., state, statements, control structures, input-output), and practice their application. Students will also gain an understanding of fundamental aspects of functional programming (functions, recursion, higher-order functions, currying), object-oriented concepts such as encapsulation and inheritance, polymorphism, as well as basic algorithmic tasks (e.g., searching, sorting, selection, and simple array- and pointer-based data structures), and practice their implementation.
-
19300002
Practice seminar
Practice seminar for Fundamentals of Programming (Kristin Knorr)
Schedule: Mi 14:00-16:00, Mi 16:00-18:00, Do 08:00-10:00, Do 12:00-14:00, Do 16:00-18:00, Fr 08:00-10:00, Fr 10:00-12:00, Fr 12:00-14:00, Fr 14:00-16:00 (Class starts on: 2025-10-15)
Location: T9/049 Seminarraum (Takustr. 9)
Comments
Tutorien finden erst ab der 2. Vorlesungswoche statt
-
19300001
Lecture
-
Database Systems
0086eA1.11-
19301501
Lecture
Database Systems (Katharina Baum)
Schedule: Di 10:00-12:00, Di 12:00-13:00, Di 14:00-16:00, Do 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-14)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
Requirements
- ALP 1 - Functional Programming
- ALP 2 - Object-oriented Programming
- ALP 3 - Data structures and data abstractions
- OR Informatik B
Comments
Content
Database design with ERM/ERDD. Theoretical foundations of relational database systems: relational algebra, functional dependencies, normal forms. Relational database development: SQL data definitions, foreign keys and other integrity constraints, SQL as applicable language: essential language elements, embedding in programming language. Application programming; object-relational mapping. Security and protection concepts. Transaction subject, transactional guaranties, synchronization of multi user operations, fault tolerance features. Application and new developments: data warehousing, data mining, OLAP.
Project: the topics are deepened in an implementation project for student groups.
Suggested reading
- Alfons Kemper, Andre Eickler: Datenbanksysteme - Eine Einführung, 5. Auflage, Oldenbourg 2004
- R. Elmasri, S. Navathe: Grundlagen von Datenbanksystemen, Pearson Studium, 2005
-
19301502
Practice seminar
Practice seminar for Database systems (Pascal Iversen)
Schedule: Mi 12:00-14:00 (Class starts on: 2025-10-15)
Location: T9/049 Seminarraum (Takustr. 9)
-
19301501
Lecture
-
Impacts of Computer Science
0086eA1.3-
19301301
Lecture
Consequences of Computer Science (Lutz Prechelt)
Schedule: Mo 12:00-14:00 (Class starts on: 2025-10-13)
Location: T9/Gr. Hörsaal (Takustr. 9)
Additional information / Pre-requisites
The course language is German, including all slides and practice sheets.
Homepage
http://www.mi.fu-berlin.de/w/SE/TeachingHome
Comments
This course deals with the consequences of computer science. Its aim is to establish an understanding of the fact that computer systems intervene in manifold ways in our private and professional lifes and shapen them. Many of these influences bring about major risks and need a conscious and enlightened composition in which computer scientists by nature play an important role -- or should at least do so.
We will for example have a look at how computerisation influences our private sphere, economics and society as a whole, our security and working environment. A conceptual introduction will provide orientational knowledge besides basic knowledge (Verfügungswissen) and strategies how to deal with both: analyse critically and get involved in the technical development.
Suggested reading
See the slides.
-
19301302
Practice seminar
Exercise for Consequences of Computer Science (Linus Ververs)
Schedule: Mo 10:00-12:00, Di 10:00-12:00, Di 12:00-14:00, Di 16:00-18:00, Mi 08:00-10:00, Mi 10:00-12:00, Mi 14:00-16:00, Mi 16:00-18:00, Do 16:00-18:00 (Class starts on: 2025-10-13)
Location: T9/051 Seminarraum (Takustr. 9)
Comments
siehe Vorlesung; Informationen zu den Zeiten und Orten der täglichen Übungen sind zu finden auf der Veranstaltungswebseite
-
19301301
Lecture
-
Computer Architecture
0086eA1.6-
19300601
Lecture
Computer Architecture (Larissa Groth)
Schedule: Di 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-14)
Location: , Hs 1a Hörsaal, T9/Gr. Hörsaal
Comments
The module Computer Architecture covers basic concepts of computer systems. Topics are von-Neuman/Harvard architecture, microarchitectures, RISC/CISC, micro programming, pipelining, caches, memory hierarchy, bus systems, assembler programming, multi processor systems, branch prediction, representation of numbers and other data types, computer arithmetic.
Suggested reading
- Andrew S. Tannenbaum: Computerarchitektur, 5.Auflage, Pearson Studium, 2006
- English: Andrew S. Tanenbaum (with contributions from James R. Goodman):
- Structured Computer Organization, 4th Ed., Prentice Hall International, 2005.
-
19300604
PC-based Seminar
Practice seminar for Computer Architecture (Larissa Groth, Marius Max Wawerek)
Schedule: Mo 12:00-14:00, Mo 14:00-16:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 14:00-16:00, Do 16:00-18:00, Fr 12:00-14:00, Fr 14:00-16:00 (Class starts on: 2025-10-13)
Location: T9/K38 Rechnerpoolraum (Takustr. 9)
-
19300601
Lecture
-
Fundamentals of Theoretical Computer Science
0086eA1.7-
19301201
Lecture
Foundations of Theoretical Computer Science (Günther Rothe)
Schedule: Mo 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-20)
Location: T9/Gr. Hörsaal (Takustr. 9)
Comments
Contents:
- models of computation
- automata
- formal languates
- grammars and the Chomsky-hierarchy
- Turing-machines
- computabilty
- introduction to the complexity of computational problems
Suggested reading
- Uwe Schöning, Theoretische Informatik kurzgefasst, 5. Auflage, Spektrum Akademischer Verlag, 2008
- John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexität, Pearson Studium, 3. Auflage, 2011
- Ingo Wegener: Theoretische Informatik - Eine algorithmenorientierte Einführung, 2. Auflage, Teubner, 1999
- Michael Sipser, Introduction to the Theory of Computation, 2nd ed., Thomson Course Technology, 2006
- Wegener, Kompendium theoretische Informatik - Eine Ideensammlung, Teubner 1996
- models of computation
-
19301202
Practice seminar
Practice seminar for Foundations of Theoretical Computer Science (Günther Rothe)
Schedule: Mo 12:00-14:00, Di 16:00-18:00, Mi 08:00-10:00, Mi 14:00-16:00, Mi 16:00-18:00, Fr 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
Location: A7/SR 031 (Arnimallee 7)
-
19301201
Lecture
-
Current Topics in Computer Science
0086eB1.12-
19328601
Lecture
Cryptocurrencies and Blockchain (Katinka Wolter)
Schedule: Di 12:00-14:00 (Class starts on: 2025-10-14)
Location: , T9/051 Seminarraum
Comments
We will study the history, technology and applications of cryptocurrencies and blockchain.
Suggested reading
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
-
19328602
Practice seminar
Practice Session on Cryptocurrencies (Justus Purat)
Schedule: Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/051 Seminarraum (Takustr. 9)
-
19328601
Lecture
-
Architecture of Embedded Systems
0086eB1.2-
19335901
Lecture
Embedded Systems Architecture (Larissa Groth)
Schedule: Fr 14:00-16:00 (Class starts on: 2025-10-24)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
Important information about the schedule:
Architecture of Embedded Systems will exceptionally be offered this winter semester with the following dates:-
Lecture: Fridays, 2–4 p.m., Takustraße 9, Room K40
-
Exercise Group A: Tuesdays, 2–4 p.m., Takustraße 9, Room K63
-
Exercise Group B: Wednesdays, 12–2 p.m., Takustraße 9, Room K63
You must choose one of the exercise sessions.
Comments
Students learn the basic structure of microprocessor architectures for embedded systems including data formats, instruction formats, instruction sets and memory organization. They learn and practise the practical scope of interfaces and input/output systems and peripheral devices. They will learn about the properties of cyber physical systems, sensors, actuators and wireless sensor networks (WSN) and discuss their areas of application. They also learn how to connect and use field programmable gate arrays (FPGAs) and practise the application-related programming of embedded systems in C and Assembler. They also learn the basic structure of current operating systems for embedded systems, in particular real-time operating systems, real-time scheduling and real-time communication, and practise their implementation. Finally, aspects of the security of embedded systems including attack vectors, process isolation and trusted computing are discussed and evaluated.
-
-
19335902
Practice seminar
Embedded System Architecture Tutorials (Larissa Groth)
Schedule: Termine siehe LV-Details (Class starts on: 2025-11-07)
Location: T9/K38 Rechnerpoolraum (Takustr. 9)
-
19335901
Lecture
-
Data Visualization
0086eB1.3-
19328301
Lecture
Data Visualization (Claudia Müller-Birn)
Schedule: Di 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-14)
Location: T9/SR 005 Übungsraum (Takustr. 9)
Additional information / Pre-requisites
Link to the course on the HCC-Website: https://www.mi.fu-berlin.de/en/inf/groups/hcc/teaching/winter_term_2025_26/course_data_visualization.html
Comments
The current rapid technological development requires the processing of large amounts of data of various kinds to make them usable by humans. This challenge affects many areas of life today, such as research, business, and politics. In these contexts, decision-makers use data visualizations to explain information and its relationships through graphical representations of data. This course aims to familiarize students with the principles, techniques, and methods in data visualization and provide practical skills for designing and implementing data visualizations.
This course gives students a solid introduction to the fundamentals of data visualization with current insights from research and practice. By the end of the course, students will
- Be able to select and apply methods for designing visualizations based on a problem,
- know essential theoretical basics of visualization for graphical perception and cognition,
- know and be able to select visualization approaches and their advantages and disadvantages,
- be able to evaluate visualization solutions critically, and
- have acquired practical skills for implementing visualizations.
This course is intended for students interested in using data visualization in their work and students who want to develop visualization software. Basic knowledge of programming (HTML, CSS, Javascript, Python) and data analysis (e.g., R) is helpful.
In addition to participating in class discussions, students will complete several programming and data analysis assignments. In a mini-project, students work on a given problem. Finally, we expect students to document and present their assignments and mini-project in a reproducible manner.
Please note that the course will focus on how data is visually coded and presented for analysis after the data structure and its content are known. We do not cover exploratory analysis methods for discovering insights in data are not the focus of the course.
Suggested reading
Textbook
Munzner, Tamara. Visualization analysis and design. AK Peters/CRC Press, 2014.
Additional Literature
Kirk, Andy: Data visualisation: A handbook for data driven design. Sage. 2016.
Yau, Nathan: Visualize This: The FlowingData Guide to Design, Visualization, and Statistics. Wiley Publishing, Inc. 2011.
Spence, Robert: Information Visualization: Design for Interaction. Pearson. 2007.
-
19328302
Practice seminar
Data Visualization (Malte Heiser)
Schedule: Do 08:00-10:00, Do 10:00-12:00 (Class starts on: 2025-10-16)
Location: T9/SR 005 Übungsraum (Takustr. 9)
-
19328301
Lecture
-
Machine Learning
0086eB1.7-
19336201
Lecture
Machine Learning (Gerhard Wunder)
Schedule: Mi 12:00-14:00 (Class starts on: 2025-10-15)
Location: T9/SR 006 Seminarraum (Takustr. 9)
Comments
Qualifikationsziele: Die Studierenden lernen Formen der Datenrepräsentation und deren Visualisierung, können Abhängigkeiten aufzeigen und wenden Verfahren für Dimensionsreduktion und Datenvorverarbeitung an. Sie lernen die Grundbegriffe und Prinzipien des maschinellen Lernens, können Zielkriterien formulieren, benennen Eigenschaften von Optimierungsproblemen und können algorithmische Ansätze zur Lösung umsetzen. Sie können unterschiedlichste Lernverfahren zur Regression, Klassifikation und Entscheidungsfindung einordnen und umsetzen. Sie lernen die Grundstrukturen und Architekturen von neuronalen Netzen und deren vielfältige Einsatzgebiete. Sie können algorithmisch Lösungen für eine gegebene Problemstellung umsetzen und evaluieren.
Inhalte: Die Studierenden erlernen die Grundlagen des maschinellen Lernens, der Lerntheorie, der Generalisierung und PAC. Sie erarbeiten ebenfalls die Grundlagen der konvexen Optimierung (z. B. Subgradient Methode), des Stochastischen Gradientenabstieg, der Regularisierung und Konvergenz. Sie üben Verfahren des Supervised Learning (z. B. Linear Regression, SVM, Kernel-Trick), des Unsupervised Learning (z. B. Clustering, Decision Trees, Matrix Decomposition, wie PCA) und des Dictionary Learning. Des Weiteren erlernen Studierende die Grundlagen der Künstliche Neuronale Netze (KNN), indem mögliche Architekturen und das Konzept der Backpropagation erarbeitet werden. Darüber hinaus setzen sich Studierende mit den Aspekten der Evaluierung (Crossvalidation, Hyper-Parameter-Tuning usw.) auseinande
-
19336202
Practice seminar
Übung zu Maschinelles Lernen (Gerhard Wunder)
Schedule: Mo 14:00-16:00 (Class starts on: 2025-10-20)
Location: , T9/SR 006 Seminarraum
-
19336201
Lecture
-
Programming Lab Course A
0132dB1.16-
19335804
PC-based Seminar
Programming Lab (Lutz Prechelt)
Schedule: Mo 16:00-18:00, Di 16:00-18:00, Mi 16:00-18:00, Do 16:00-18:00, Fr 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
Location: T9/K48 Rechnerpoolraum (Takustr. 9)
Additional information / Pre-requisites
https://www.mi.fu-berlin.de/w/SE/TeachingHome
Comments
Students work on many small practical learning tasks. They can choose these from a large set of candidate tasks in various topic areas, such as:
- Programming languages
- Selection and use of libraries
- Databases and SQL
- Automated tests
- Debugging,
- Working with existing code
- Web development
- Working with tools such as version management, package management, IDEs, testing tools etc..
The material has enormously high relevance for building professional software development skills.
Work is mostly done in pairs, to help with reflection and for overcoming roadblocks.
-
19335804
PC-based Seminar
-
Programming Lab Course (large)
0132dB1.17-
19335804
PC-based Seminar
Programming Lab (Lutz Prechelt)
Schedule: Mo 16:00-18:00, Di 16:00-18:00, Mi 16:00-18:00, Do 16:00-18:00, Fr 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
Location: T9/K48 Rechnerpoolraum (Takustr. 9)
Additional information / Pre-requisites
https://www.mi.fu-berlin.de/w/SE/TeachingHome
Comments
Students work on many small practical learning tasks. They can choose these from a large set of candidate tasks in various topic areas, such as:
- Programming languages
- Selection and use of libraries
- Databases and SQL
- Automated tests
- Debugging,
- Working with existing code
- Web development
- Working with tools such as version management, package management, IDEs, testing tools etc..
The material has enormously high relevance for building professional software development skills.
Work is mostly done in pairs, to help with reflection and for overcoming roadblocks.
-
19335804
PC-based Seminar
-
-
Operating and Communication Systems 0086eA1.10
-
Statistics for Students of Computer Science 0086eA1.13
-
Information Security 0086eA1.14
-
Applied Biometrics 0086eB1.1
-
Fundamentals of Data Privacy and Data Protection Law 0086eB1.10
-
Specialization: Theoretical Computer Science 0086eB1.11
-
Advanced Topics in Computer Science 0086eB1.13
-
Functional Programming 0086eB1.5
-
Information Theory 0086eB1.6
-
Man-Computer Interaction 0086eB1.8
-
Practices in Professional Software Development 0086eB1.9
-
Special Aspects of Computer Science 0132dB1.19
-
