SoSe 25  
Centre for Teac...  
Fachwissenschaf...  
Course

Lehramt an Integrierten Sekundarschulen und Gymnasien – Quereinstieg (ab WiSe 2019)

Fachwissenschaft und Fachdidaktik Informatik 2 (SPO ab WiSe 24/25)

0511c_m72
  • Vertiefung Fachdidaktik Informatik im Profil Quereinstieg

    0502cA1.2
    • 19323311 Seminar
      Selected Topics of Computer Science Education (Ralf Romeike)
      Schedule: Di 09:00-12:00 (Class starts on: 2025-04-15)
      Location: keine Angabe

      Comments

      Various key aspects will be offered, such as:

      • particular problems of computer science teaching and learning according to the type of school (schulartbezogenes Lehren und Lernen von Informatik)
      • particular experimental learning environments und experimental access to selected topics
      • education for sustainable development (Bildung für Nachhaltige Entwicklung (BNE))
      • design and analysis of tasks which are beneficial for learning
      • differentiation and handling of heterogeneity
      • computer science learning in out-of-school learning environments and in pupils' labs
      • multidisciplinary teaching
      • practical teaching experiences in complexity-reduced teaching-learning situations in the teaching-learning lab/pupils' lab
      • gender and diversity in computer science classes

  • Student Teaching Lab: Computer Science (Subject 2)

    0557bA1.3
  • Softwaretechnik, LB

    0087eA1.10
    • 19301401 Lecture
      Software Engineering (Lutz Prechelt)
      Schedule: Mo 10:00-12:00, Do 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-14)
      Location: T9/Gr. Hörsaal (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      • compulsory module in BSc of Computer Science
      • elective module in Computer Science Minor
      • MSc school teacher students (Großer Master mit Zweitfach Informatik) may chose this module together with  "Praktikum SWT (19516c)", thereby replacing modules "Net programming" and "Embedded Internet"

      Requirements

      ALP III or Informatik B

      Language

      The course language is German, including all slides and practice sheets. A minority of slides is in English.

      The exam is formulated in German, but answers may be given in English, too.

      Homepage

      http://www.inf.fu-berlin.de/w/SE/VorlesungSoftwaretechnik

      Comments

      Content

      Software Engineering is the science of software construction on a grand scale, that is the basic course of systems engineering.

      Software Engineering aims at giving answers to the following questions:

      • How to find out which characterstics a software should have (requirements engineering)
      • How to describe these characteristics (specifcation)
      • How to structure software so that it may be built easily and changed flexibly (design)
      • How to change software which does not have such a structure or whose structure you do not understand (anymore) (reengineering)
      • How to disguise defects in software (quality assurance, test)
      • How to organise the tasks in a software company or department to regularly achieve cost-efficient and high-quality results (process management)
      • Which (largely common) problems underlie all of these questions and which (mostly common) general approaches underlie the methods and techniques that are used

      ...and many similar ones.

      This lecture gives an overview of the methods and provides essential basic knowledge for any computer scientist working as an engineer.

      More detailed information may be found on the homepage http://www.inf.fu-berlin.de/w/SE/VorlesungSoftwaretechnik

      Suggested reading

      Bernd Brügge, Allen Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, Pearson 2004.

    • 19301402 Practice seminar
      Practice seminar for Software Engineering (Lutz Prechelt)
      Schedule: Mo 16:00-18:00, Di 08:00-10:00, Di 10:00-12:00, Di 16:00-18:00, Mi 08:00-10:00, Mi 10:00-12:00, Mi 14:00-16:00, Do 10:00-12:00, Do 14:00-16:00, Fr 10:00-12:00 (Class starts on: 2025-04-14)
      Location: T9/046 Seminarraum (Takustr. 9)
  • Mathematik für Informatik, LB

    0087eA1.2
    • 19335601 Lecture
      Information Security (Volker Roth)
      Schedule: Mi 14:00-16:00 (Class starts on: 2025-04-16)
      Location: T9/Gr. Hörsaal (Takustr. 9)
    • 19335605 Tutorial
      Information Security Tutorials (Volker Roth)
      Schedule: Mi 16:00-18:00, Do 12:00-14:00, Do 14:00-16:00 (Class starts on: 2025-04-16)
      Location: T9/K36 Rechnerpoolraum (Takustr. 9)
  • Algorithmen und Datenstrukturen, LB

    0087eA1.4
    • 19300101 Lecture
      Algorithms and Data Structures (Wolfgang Mulzer)
      Schedule: Di 16:00-18:00, Fr 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-15)
      Location: Gr. Hörsaal (Raum B.001) (Arnimallee 22)

      Comments

      Qualification goals

      The students can analyze algorithms and data structures and their implementations with respect to running time, space requirements, and correctness. The students can describe different algorithms and data structures for typical applications and know how to use them in concrete settings. They can choose appropriate algorithms and data structures for a given task and are able to adapt them accordingly. Students can explain, identify and use different paradigms for designing new algorithms.

      Contents

      • abstract machine models
      • running time, correctness and space requirements
      • worst-case analysis
      • algorithms and randomness
      • algorithmic paradigms: divide and conquer, greedy, dynamic programming, exhaustive search
      • priority queues
      • ordered and unordered dictionaries (e.g., search trees, hash tables, skiplists)
      • algorithms for strings (string searching and radix trees)
      • graph algorithms 

      Suggested reading

      • P. Morin: Open Data Structures, an open content textboox.
      • T. H. Cormen, C. Leiserson, R. Rivest, C. Stein: Introduction to Algorithms, MIT Press, 2022.
      • R. Sedgewick, K. Wayne: Algorithms, Addison-Wesley, 2011.
      • M. Dietzfelbinger, K. Mehlhorn, P. Sanders. Algorithmen und Datenstrukturen: Die Grundwerkzeuge, Springer, 2014.
      • J. Erickson. Algorithms, 2019
      • T. Roughgarden. Algorithms Illuminated. Cambridge University Press, 2022.

    • 19300102 Practice seminar
      Practice seminar for Algorithms and Data Structures (Wolfgang Mulzer)
      Schedule: Mo 14:00-16:00, Mo 16:00-18:00, Di 12:00-14:00, Mi 12:00-14:00, Mi 14:00-16:00, Mi 16:00-18:00, Do 16:00-18:00, Fr 14:00-16:00, Fr 16:00-18:00 (Class starts on: 2025-04-14)
      Location: T9/051 Seminarraum (Takustr. 9)
  • Betriebs- und Kommunikationssysteme, LB

    0087eA1.7
    • 19300701 Lecture
      Operating and Communication Systems (Larissa Groth)
      Schedule: Mo 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-14)
      Location: T9/Gr. Hörsaal (Takustr. 9)

      Comments

      The module operating and communication systems closes the gap between the hardware of a computer and the applications.

      We will cover the following topics::

      • I/O systems
      • DMA/PIO
      • Interrupt handling
      • Buffers
      • Processes/threads
      • Virtual memory
      • UNIX and Windows
      • Shells
      • Utilities
      • Peripherals and networking
      • Networks
      • Media
      • Media access
      • Protocols
      • Reference models
      • TCP/IP
      • The Internet

      Suggested reading

      • Andrew S. Tanenbaum: 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.

    • 19300704 PC-based Seminar
      Practice seminar for Operating and Communication Systems (Larissa Groth)
      Schedule: Mo 10:00-12:00, Mo 14:00-16:00, Di 10:00-12:00, Di 12:00-14:00, Mi 08:00-10:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 10:00-12:00, Do 12:00-14:00, Do 16:00-18:00, Fr 14:00-16:00 (Class starts on: 2025-04-14)
      Location: T9/K38 Rechnerpoolraum (Takustr. 9)

      Comments

      Begleitveranstaltung zur Vorlesung 19300701

  • Datenbanksysteme, LB

    0087eA1.8
    • 19301501 Lecture
      Database Systems (Agnès Voisard)
      Schedule: Di 14:00-16:00, Do 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-15)
      Location: T9/Gr. Hörsaal (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 (Muhammed-Ugur Karagülle)
      Schedule: Mo 12:00-14:00, Mo 14:00-16:00, Mo 16:00-18:00, Di 08:00-10:00, Di 10:00-12:00, Di 12:00-14:00, Mi 10:00-12:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 10:00-12:00, Do 12:00-14:00, Do 16:00-18:00, Fr 10:00-12:00, Fr 14:00-16:00, Fr 16:00-18:00 (Class starts on: 2025-04-14)
      Location: T9/SR 006 Seminarraum (Takustr. 9)
  • Programmierpraktikum, LB

    0087eA1.9
    • 19335804 PC-based Seminar
      Programming Lab (Lutz Prechelt)
      Schedule: Mo 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-14)
      Location: T9/K48 Rechnerpoolraum (Takustr. 9)

      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.

  • Informationssicherheit, LB

    0087eA2.2
    • 19335601 Lecture
      Information Security (Volker Roth)
      Schedule: Mi 14:00-16:00 (Class starts on: 2025-04-16)
      Location: T9/Gr. Hörsaal (Takustr. 9)
    • 19335605 Tutorial
      Information Security Tutorials (Volker Roth)
      Schedule: Mi 16:00-18:00, Do 12:00-14:00, Do 14:00-16:00 (Class starts on: 2025-04-16)
      Location: T9/K36 Rechnerpoolraum (Takustr. 9)
  • Funktionale Programmierung, LB

    0087eA2.5
    • 19336001 Lecture
      Functional Programming (Katharina Klost)
      Schedule: Di 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-15)
      Location: T9/SR 005 Übungsraum (Takustr. 9)
    • 19336002 Practice seminar
      Functional Programming Tutorials (Katharina Klost)
      Schedule: Mi 16:00-18:00 (Class starts on: 2025-04-16)
      Location: T9/SR 005 Übungsraum (Takustr. 9)
  • Mensch-Computer-Interaktion, LB

    0087eA2.7
    • 19330601 Lecture
      Human-Computer Interaction (Claudia Müller-Birn)
      Schedule: Di 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Link to this course on the HCC website

      Comments

      The digital age is no longer about deciding whether to use software, but about deciding which to use. Usability, often an implicit rather than explicit requirement, significantly influences this decision. Achieving high usability and a positive user experience requires a deep understanding of user goals, hidden needs, and cognitive abilities.

      This is where the study of human-computer interaction (HCI) comes in. HCI is a field of computer science that focuses on creating human-centered technologies. However, it's important to understand that usability is not inherent in software, nor can it be developed separately as a software feature at some point in time. Usability is always contextual, and understanding that context is critical.

      Improving usability also means changing the entire software development process. The goal is to create software that, despite its complexity and wealth of information, is usable by the intended audience. To achieve this goal, we can select and apply different principles and methods depending on the development phase and project situation.

      In this Human-Computer Interaction course, we will explore these principles and methods. You will learn how to

      • Apply human-centered design methods to your development practice: We'll cover techniques for understanding and incorporating user needs and preferences into the design process.
      • Study people and collect data about their activities: You'll learn how to collect and interpret qualitative and quantitative data about user behavior and preferences.
      • Synthesize data into conceptual models that help you derive requirements: We'll teach you how to translate your findings into actionable design goals and requirements.
      • Conceptualize, design, and prototype graphical user interfaces based on requirements: You'll get hands-on experience creating user interfaces that meet these requirements.
      • Evaluate your prototypes (low-fidelity and high-fidelity) in studies: Finally, you'll learn how to conduct user testing sessions and iterate on your designs based on user feedback.

      By the end of this course, you'll have a solid foundation in HCI principles and methodologies. You'll be equipped with the skills necessary to design and develop usable interfaces that create a positive user experience. This course will help you become adept at creating software that not only meets functional requirements but also provides a satisfying user experience.

      Suggested reading

      Shneiderman, B., Plaisant, C., Cohen, M., Jacobs, S., Elmqvist, N., & Diakopoulos, N. (2016). Designing the user interface: Strategies for effective human-computer interaction. Pearson.

      Dix, A., Finlay, J., Abowd, G. D., & Beale, R. (2004). Human-computer interaction. Pearson Education.

      Sharp, H., Rogers, Y., & Preece, J. (2019). Interaction design: Beyond human-computer interaction (5th ed.). Wiley.

    • 19330602 Practice seminar
      Practice Seminar on Human Computer Interaction I (Malte Heiser)
      Schedule: Mi 10:00-12:00 (Class starts on: 2025-04-16)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Robotics

    0089cA3.4
    • 19304701 Lecture
      Robotics (Daniel Göhring)
      Schedule: Mi 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2025-04-16)
      Location: T9/Gr. Hörsaal (Takustr. 9)

      Additional information / Pre-requisites

      Students interested in robotics with application to autonomous vehicles. Voraussetzungen: As a prerequisite, student should have basic knowledge of maths, in particular linear algebra and a bit of optimization. Students will work with a real model car in the robotics lab.

      Comments

      Content

      This class will give an introduction to robotics. It will be structured into the following parts:

      • Generating motion and and dynamic control: This chapter will cover coordinate frames, non-holonomic constraints, Ackermann-drive (in analogy to street cars), PID.
      • Planning: Planning around obstacles, path finding, Dijkstra, A*, configuration space obstacles, RRTs, lattice planners, gradient methods, potential fields, splines.
      • Localization and mapping: state estimation problem, Bayesian filter, Odometry, Particle & Kalman filter, Extended and Unscented Kalman-Filter, simultaneous localization and mapping (SLAM).
      • Vision and perception: SIFT, HOG-features, Deformable parts models, hough transform, lane detection, 3d-point clouds, RANSAC .

      After these lectures, students will be able to design basic algorithms for motion, control and state estimation for robotics.

      The lecture will be in German, accompanying materials in English.

      Suggested reading

      Literatur:


      John J Craig: Introduction to Robotics: Mechanics and Control; Steven LaValle: Planning Algorithms; Sebastian Thrun, Wolfram Burgard, Dieter Fox: Probabilistic Robotics

       

    • 19304702 Practice seminar
      Practice seminar for Robotics (Daniel Göhring)
      Schedule: Do 12:00-14:00 (Class starts on: 2025-04-17)
      Location: T9/049 Seminarraum (Takustr. 9)
    • Grundlagen und Vertiefung Fachdidaktik Informatik im Profil Quereinstieg 0502cA1.1
    • Konzepte der Programmierung, LB 0087eA1.1
    • Auswirkungen der Informatik, LB 0087eA1.3
    • Grundlagen der Theoretischen Informatik, LB 0087eA1.5
    • Nebenläufige, parallele und verteilte Programmierung, LB 0087eA1.6
    • Rechnerarchitektur, LB 0087eA2.1
    • Architektur eingebetteter Systeme, LB 0087eA2.3
    • Datenvisualisierung, LB 0087eA2.4
    • Maschinelles Lernen, LB 0087eA2.6
    • Praktiken professioneller Softwareentwicklung, LB 0087eA2.8
    • Image Processing 0089cA1.1
    • Medical Image Processing 0089cA1.10
    • Model-driven Software Development 0089cA1.11
    • Network-Based Information Systems 0089cA1.13
    • Computer Security 0089cA1.16
    • Compiler Construction 0089cA1.19
    • Computer Graphics 0089cA1.2
    • XML Technology 0089cA1.21
    • Practices in Professional Software Development 0089cA1.22
    • Computer Vision 0089cA1.3
    • Database Technology 0089cA1.4
    • Fundamentals of Software Testing 0089cA1.7
    • Artificial Intelligence 0089cA1.9
    • Semantics of Programming Languages 0089cA2.9
    • Operating Systems 0089cA3.1