WiSe 25/26  
Mathematics and...  
Informatik  
Course

Lehramt für Informatik

Informatik

0087e_k90
  • Programming Concepts, Teacher Training Program

    0087eA1.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

  • Mathematics for Computer Science Students, Teacher Training Program

    0087eA1.2
    • 19337001 Lecture
      Mathematics for Computer Science Teachers (Max Willert)
      Schedule: Mo 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      Qualification objectives: Students formulate3 statements formally using propositional and predicate logic. They analyze4 and simplify3 the logical structure of given statements and describe4 the logical structure of proofs. They name properties of different sets, relations and functions and justify4 these with the help of formal arguments. They can develop proofs for elementary statements using elementary proof techniques5 and determine the cardinality of sets using combinatorial techniques as well as probabilities of random events3.

      Contents: Students learn basic concepts of set theory, logic and combinatorics and practise their application. They work on sets, relations and functions in set theory. In the field of logic and Boolean algebra, they learn aspects of propositional logic and predicate logic. In the field of combinatorics, they learn about factorials and binomial coefficients. They also learn elementary proof techniques and basic aspects of discrete probability theory. Finally, formal languages are used as examples for modeling. Most of these concepts are practiced on calculation or proof problems.

      Suggested reading

      • Kenneth H. Rosen. Discrete Mathematics and its Applications, McGaw-Hill Education, 8. Auflage, 2018.
      • Gerald Teschl und Susanne Teschl. Mathematik für Informatiker - Band 1: Diskrete Mathematik und Lineare Algebra, Springer Vieweg, 4. Auflage, Berlin Heidelberg 2013.

    • 19337002 Practice seminar
      Mathematics for Computer Science Teachers (Exercises) (Max Willert)
      Schedule: Mi 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-10-13)
      Location: T9/SR 005 Übungsraum (Takustr. 9)
  • Consequences of Informatics, Teacher Training Program

    0087eA1.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

  • Introduction to Theoretical Computer Science, Teacher Training Program

    0087eA1.5
    • 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

    • 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)
  • Nebenläufige, parallele und verteilte Programmierung, LB

    0087eA1.6
    • 19322101 Lecture
      Concurrent, Parallel, and Distributed Programming (Claudia Müller-Birn, Barry Linnert)
      Schedule: Mi 10:00-12:00, Do 12:00-14:00 (Class starts on: 2025-10-15)
      Location: T9/Gr. Hörsaal (Takustr. 9)

      Comments

      Website: https://www.mi.fu-berlin.de/w/SE/VorlesungNichtseq_Vert_Prg2025

       

      Contents:

      Programming and synchronization of concurrent processes that share resources or interact through message passing.

      • Non-Sequential programs and processes in their various forms, non-determinism, determinism
      • Synchronization mechanisms: locks, monitors, guards, events, semaphores
      • Non-Sequential program execution and object oriented systems
      • Control flow, strategies selection, priorities, handling and avoiding deadlock
      • Coroutines implementation, 
      • - Multiprocessor systems
      • Programming and Synchronisation of concurrent processes that interact through message passing
      • Remote Calling Techniques
      • Client-server, Peer-to-peer Networks
      • Parallel computing over networks
      • Concurrent and coordination languages
      • Processing on the server and on the client.
      • Middleware, structured communication, static and dynamic interfaces
      • Event-based and stream-based processing
      • Security of network applications
      • Non-functional Aspects (time, memory, quality of service)

      Suggested reading

      Literature:

      • Principles of Concurrent and Distributed Programming. M. Ben-Ari. Addison-Wesley. 
      • Distributed Systems. Concepts and Design. Fifth Edition. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Pearson.

    • 19322102 Practice seminar
      Practice seminar for Concurrent and Distributed Programming (Barry Linnert)
      Schedule: Mo 10:00-12:00, Di 10:00-12:00, Do 10:00-12:00, Do 14:00-16:00, Fr 12:00-14:00, Fr 16:00-18:00 (Class starts on: 2025-10-14)
      Location: T9/SR 006 Seminarraum (Takustr. 9)
  • Database Systems, Teacher Training Program

    0087eA1.8
    • 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)
  • Programming Lab Course, Teacher Training Program

    0087eA1.9
    • 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.

  • Computer Architecture, Teacher Training Program

    0087eA2.1
    • 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)
  • Architektur eingebetteter Systeme, LB

    0087eA2.3
    • 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)
  • Machine Learning; Teacher Training Program

    0087eA2.6
    • 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
    • Software Engineering, Teacher Training Program 0087eA1.10
    • Algorithms, Data Structures, and Data Abstraction, Teacher Training Program 0087eA1.4
    • Operating and Communication Systems, Teacher Training Program 0087eA1.7
    • Information Security, Teacher Training Program 0087eA2.2
    • Data Visualization, Teacher Training Program 0087eA2.4
    • Functional Programming, Teacher Training Program 0087eA2.5
    • Human-Computer Interaction, Teacher Training Program 0087eA2.7
    • Professional Software Development Practices, Teacher Training Program 0087eA2.8