SoSe 24  
Mathematics and...  
Bachelor's prog...  
Course

SoSe 24: Computer Science

Bachelor's programme in Computer Science (135 cp, 2016 study regulations)

0086d_k135
  • Algorithms, Data Structures, and Data Abstraction

    0086cA1.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: 2024-04-16)
      Location: Hs 2 Hörsaal (Habelschwerdter Allee 45)

      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, 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: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)
  • Non-sequential and Distributed Programming

    0086cA1.5
    • 19322101 Lecture
      Concurrent, Parallel, and Distributed Programming (Claudia Müller-Birn)
      Schedule: Mo 14:00-16:00, Mi 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      Location: T9/Gr. Hörsaal (Takustr. 9)

      Comments

      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

      Literatur:

      • 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, Parallel, and Distributed Programming (Barry Linnert)
      Schedule: Mo 10:00-12:00, Mo 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 14:00-16:00, Fr 10:00-12:00, Fr 14:00-16:00, Fr 16:00-18:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Computer Architecture, Operating Systems, and Communication Systems

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

      Comments

      In the operating system section, students work on the fundamental structure of current operating systems and learn their basic tasks. They gain an understanding of the management of input/output systems and peripheral devices for networking, and practice programming DMA/PIO in C. Additionally, they explore the concepts of processes/threads, interrupts, and virtual memory, as well as memory management. They practice programming interrupt handling and memory management in C, and also learn the use of utilities such as shells. Furthermore, they become familiar with examples of operating systems (UNIX and Windows).

      In the communication systems section, students work on the basic structure of networks, especially the Internet. They learn the TCP/IP protocol stack and the ISO/OSI reference model, discussing differences and applications. They become acquainted with media access methods and network devices, associating them with various layers of the protocol stack. They learn to handle transmission errors and discuss the limitations of these methods. Additionally, they learn routing methods within and outside Autonomous Systems, as well as TCP and UDP, and practice their implementation in C.

      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 08:00-10:00, Mo 14:00-16:00, Di 10:00-12:00, Di 12:00-14:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 10:00-12:00, Fr 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/K 038 Rechnerpoolraum (Takustr. 9)

      Comments

      Begleitveranstaltung zur Vorlesung 19300701

  • Database Systems

    0086cA3.2
    • 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: 2024-04-16)
      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 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 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 10:00-12:00, Do 12:00-14:00, Fr 14:00-16:00, Fr 16:00-18:00 (Class starts on: 2024-04-17)
      Location: T9/055 Seminarraum (Takustr. 9)
  • Software Technology

    0086cA3.3
    • 19301401 Lecture
      Software Engineering (Barry Linnert)
      Schedule: Mo 10:00-12:00, Do 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      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 (Barry Linnert, Linus Ververs)
      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, Fr 10:00-12:00 (Class starts on: 2024-04-15)
      Location: T9/046 Seminarraum (Takustr. 9)
  • Fundamentals of Theoretical Computer Science

    0086cA4.1
    • 19301201 Lecture
      Foundations of Theoretical Computer Science (Katharina Klost)
      Schedule: Mo 12:00-14:00, Mi 08:00-10:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      Location: T9/SR 005 Übungsraum (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 (Katharina Klost)
      Schedule: Di 10:00-12:00, Di 16:00-18:00, Mi 12:00-14:00, Mi 14:00-16:00 (Class starts on: 2024-04-16)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Linear Algebra for Computer Scientists

    0086cA5.2
    • 19301001 Lecture
      Linear Algebra for Computer Science and Bioinformatics (Max Willert)
      Schedule: Mi 10:00-12:00, Fr 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: Hs 2 Hörsaal (Habelschwerdter Allee 45)

      Comments

      • vector space, basis and dimension;
      • linear map, matrix and rank;
      • Gauss-elimination and linear systems of equations;
      • determinants, eigenvalues and eigenvectors;
      • euclidean vector spaces and orthonormalization;
      • principal component transformation;
      • fundamentals of algebra and number theory

      Suggested reading

      • Albrecht Beutelspacher. Mathe-Basics zum Studienbeginn: Survival-Kit Mathematik. Springer Vieweg, 2. Auflage, Wiesbaden 2016.
      • Peter Hartmann. Mathematik für Informatiker. Springer Vieweg, 6. Auflage, Wiesbaden 2015.
      • Gerald Teschl und Susanne Teschl. Mathematik für Informatiker - Band 1: Diskrete Mathematik und Lineare Algebra, Springer Vieweg, 4. Auflage, Berlin Heidelberg 2013.
      • Thomas Westermann. Mathematik für Ingenieure. Springer Vieweg, 7. Auflage, Berlin Heidelberg 2015.
      • Kurt-Ulrich Witt. Lineare Algebra für die Informatik. Springer Vieweg, 1. Auflage, Wiesbaden 2013.

    • 19301002 Practice seminar
      Practice seminar for Linear Algebra for Computer Science and Bioinformatics (Max Willert)
      Schedule: Mo 10:00-12: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, Di 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      Location: T9/049 Seminarraum (Takustr. 9)
  • Academic Work in Computer Science

    0086cA6.1
    • 19319701 Lecture
      Scientific Work/Research in Computer Science (Wolfgang Mulzer)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-05-07)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      The lecture intends to prepare the participants for doing scientific work in computer science. In particular, we plan to cover the following topics:

      • science, research, and the scientific environment
      • Is computer science a science?
      • scientific writing for computer science
      • presentation techniques for computer science
      • scientific integrity and ethics
      • gender and diversity in computer science

      Note: The lecture starts in May. The first meeting takes place Tuesday, 07. May, 2024.

    • 19301710 Proseminar
      Undergraduate Seminar: Theoretical Computer Science (Günther Rothe)
      Schedule: Fr 10:00-12:00 (Class starts on: 2024-04-19)
      Location: T9/053 Seminarraum (Takustr. 9)

      Comments

      Contents

      The proseminar delves more deeply into topics covered in the basic classes taught by the theory group. During the winter semester, we consider advanced topics from the theory of computability and of formal languates (in continuation of "Theory of Computation"); during the summer semester, we talk about algorithms (in continuation of "Algorithms, Data Structures, and Data Abstraction").

      Prerequisites

      two semesters of computer science, successful completion of "Theory of Computation"

      Suggested reading

    • 19311917 Seminar / Undergraduate Course
      Seminar/Proseminar: Artificial Intelligence - Autonomous Cars (Daniel Göhring)
      Schedule: Mo 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      Location: T9/049 Seminarraum (Takustr. 9)

      Comments

      Description:

      This seminar covers different topics from the research area of autonomous cars. We will focus on questions which can be the basis for Bachelor or Master theses as:

      vision based person or vehicle recognition, map generation from trajectories, V2V and V2X communication, object tracking and prediction, sensory data fusion, localization using map matching, recognition of drivable areas and free spaces using stereo vision, path planning with A*, RRT, potential fields, automatic sensor calibration, map data formats.

      Students can propose interesting topics, too. The seminar will be taught as a block course.

    • 19313017 Seminar / Undergraduate Course
      S/PS: Decisions in Software Engineering (Lutz Prechelt, Linus Ververs)
      Schedule: Mo 12:00-14:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Website

      • https://www.mi.fu-berlin.de/w/SE/SeminarDMinSE

      Target group:

      • Proseminar: Bachelor students who attend / have attended the module "Scientific Work in Computer Science" and apply the knowledge they have learnt and work scientifically for the first time in this seminar.
      • Seminar: Advanced Bachelor students who attend the module as part of their specialisation area or Master students


      Prerequisites:

      • It is strongly recommended that you have already attended the software engineering module (if not, please contact the lecturer in advance)

      Comments

      Software engineering (German: Softwaretechnik) is defined by the IEEE as:

      "The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." ("IEEE Standard Glossary of Software Engineering Terminology," in IEEE Std 610.12-1990 , vol., no., pp.1-84, 31 Dec. 1990, doi: 10.1109/IEEESTD.1990.101064.)

      Software engineering thus describes the process of how software is developed. This process is characterised by a large number of decisions that affect either the product to be developed (the software to be developed) or the development process itself.

      In this seminar, we will take a closer look at different types of decisions and analyse the current state of research. To this end, participants will prepare a presentation and a scientific paper on one of the following topics (other topics relevant to the seminar are also possible):

      • How do individuals make decisions? Which insights from psychology are important for the software development process?
      • How do groups of people make decisions? Which insights from sociology and economics can be applied to the software development process?
      • What software development process models are there and how do organisations decide between them?
      • Decisions on prioritising requirements in software engineering
      • Decisions on software design: how is software designed?
      • What are technical debts and why and when are they included?
      • Refactorings: Why, when and to what extent do organisations decide to refactor?
      • Recruiting developers: how do organisations select suitable developers?
      • Pair programming: What is it? How does knowledge transfer work in pair programming? Do developers make better decisions in pairs?

      In this seminar, students are expected to conduct independent research on the topic of their choice. Whether the course is booked as a seminar or a proseminar has an influence on the requirements:

      • Seminar: Here, several good sources (3-5) are to be found and a summary of the results presented. The aim is primarily to work out recommendations for the SE process.
      • Proseminar: Here, one good source should be found and presented in detail. Going into further related work is the freestyle.

      In the scientific articles presented, the conclusions presented should be critically analysed in terms of credibility and relevance.

      Suggested reading

      Die zur Auswahl stehenden Artikel finden Sie im Ressourcen-Ordner der KVV-Seite.

    • 19313310 Proseminar
      Undergraduate Seminar: Interactive Intelligent Systems - A Human-Centered Perspective (Claudia Müller-Birn, Valeria Zitz)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: T9/053 Seminarraum (Takustr. 9)

      Comments

      In this pro-seminar, we delve into the field of Interactive Intelligent Systems (IIS), which use artificial intelligence technologies such as natural language processing. We focus on the design, implementation, and evaluation of these systems, taking into account both the AI technology employed and the user's interaction with the system. Interactive intelligent systems encompass a wide range of approaches, including AI-infused systems, recommender systems, mixed-initiative user interfaces, and intelligent agent-centered approaches.

      Throughout the seminar, we adopt a human-centered perspective, emphasizing the interaction between the technical system and the human user. By exploring existing capabilities and limitations in the field of human-computer interaction, we aim to gain insights into how to improve the user experience.

      At the beginning of each semester, we provide a comprehensive introduction to the specific topic for that year. Building on this foundation, students will have the opportunity to present and discuss existing approaches, methods, and implementations related to the topic. Working together, we will create a mind map that visually captures the collective understanding of the topic.

      Each participant will be expected to independently prepare, present, and discuss with the class their chosen topic in the area of interactive intelligent systems. These presentations will serve as a platform for sharing insights, exchanging ideas, and fostering critical thinking among peers.

      Based on the results of the discussions, students will be required to produce a written scientific article that synthesizes the knowledge and insights gained from the seminar. This report will be evaluated, providing an opportunity for students to demonstrate their understanding and analytical skills.

      Suggested reading

      Jameson, A., & Riedl, J. (2011). Introduction to the Transactions on Interactive Intelligent Systems. TiiS, 1(1), 1–6. http://doi.org/10.1145/2030365.2030366

      Terveen, L. G. (1995). Overview of human-computer collaboration. Knowledge-Based Systems, 8(2-3), 67–81. http://doi.org/10.1016/0950-7051(95)98369-H

      Farooq, U., & Grudin, J. (2016). Human-computer integration. Interactions, 23(6), 26–32. http://doi.org/10.1145/3001896

    • 19328217 Seminar / Undergraduate Course
      Seminar/Proseminar: New Trends in Information Systems (Muhammed-Ugur Karagülle)
      Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
      Location: A7/SR 031 (Arnimallee 7)

      Comments

      This seminar aims at studying recent trends in data management. Among others, we will look at two emerging topics, namely Location-Based Services (LBS) and Event-Based Services (EBS).

      Event-based Systems (EBS) are part of many current applications such as business activity monitoring, stock tickers, facility management, data streaming, or security. In the past years, the topic has gained increasing attention from both the industrial and the academic community. Current research concentrates of diverse aspects that range from event capture (incoming data) to response triggering. This seminar aims at studying some of the current trends in Event-based Systems with a strong focus on models and design. Location-based services are now often part of every day's life through applications such as navigation assistants in the public or private transportation domain. The underlying technology deals with many different aspects, such as location detection, information retrieval, or privacy. More recently, aspects such as user context and preferences were considered in order to send users more personalized information.

      A solid background in databases is required, typically a database course at a bachelor level.

      Suggested reading

      Wird bekannt gegeben.

    • 19329617 Seminar / Undergraduate Course
      Seminar/Proseminar: IoT in smart homes (Larissa Groth)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: K 063 Hardwarepraktikum (Takustr. 9)

      Comments

      This seminar focuses on various aspects of Computer Engineering. At the beginning of the seminar, topic proposals will be provided, primarily addressing aspects of the Internet of Things and security considerations in Smart Homes. Additionally, students are welcome to suggest their own topics, but these must be related to technical informatics. The topics can be worked on individually or in small groups (2 students), but it should be clear who contributed to each part of the seminar paper.

      Regarding the schedule, this seminar takes place throughout the semester with a few mandatory meetings. During the first session on April 16, 2024, the list of topics will be distributed and discussed. Please prepare a brief overview (2-3 minutes) of your own topic proposal if you intend to contribute it to the seminar. In the following week (April 23, 2024, no in-person meeting!), topics will be assigned through a Whiteboard Assignment. Subsequently, there are a total of three presentation dates: the presentation of the topics (May 7, 2024), a brief interim presentation (June 4, 2024, and June 11, 2024), and the final presentation (July 9, 2024, July 16, 2024, and possibly July 23, 2024).

    • 19331617 Seminar / Undergraduate Course
      Seminar/Proseminar: Information-theoretical principles of ML (Gerhard Wunder)
      Schedule: Fr 12:00-14:00 (Class starts on: 2024-04-19)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This (Pro-)Seminar takes place regularly every semester and is directed to Bachelor and Masterstudents. It covers basic and advanced (actual) topics of information-theoretic principles of machine learning. An indicative but not complete list of possible topics is:

      • Probability distributions
      • Elements of learning theory
      • Entropy measures, cross-entropy
      • Mutual information and distance metrics on probability distributions
      • Compression and representation learning
      • Autoencoders and variational autoencoders
      • Privacy-preserving ML
      • Robustness, adversarial ML
      • Pattern recognition and anomaly detection
      • Statistical signal processing and machine learning
      • Advanced generative models (diffusion models, transformers, ...)
      • NLP
      • Causality and information decomposition

       

    • 19336717 Seminar / Undergraduate Course
      From EHR to PPIs: databases for biomedical data and how they advance research (Katharina Baum)
      Schedule: Fr 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-12)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      In this seminar, you will learn about various databases, their structure and their programmatic use. You will also learn about the significance of the data stored in them and their use based on current research work.

      Examples of possible databases covered are

      •     MIMIC (electronic medical records),
      •     STRING (protein-protein interaction),
      •     Drugbank (drugs),
      •     PRIDE (protein measurements),
      •     GEO (for genomic data), etc.

      Each database will be used by all participants to answer a question at the end of the lecture in the course (the setup will be prepared by the lecturer) - so bring your laptop!

      Bachelor students can participate in this seminar, but the content is very advanced and largely based on current research. Basic literature is in English, so a good knowledge of the English language is required.

      We will meet on Friday, April 12, 2024 at 10:15 am (s.t.) (in a hybrid setting, please check out the Whiteboard for room and/or access link) for a first introduction and topic assignment. Please contact us early (katharina.baum@fu-berlin.de) in case you want to participate in the seminar and cannot attend this meeting.

  • Academic Work in Applied Computer Science

    0086cB1.4
    • 19303811 Seminar
      Project Seminar: Data Management (Muhammed-Ugur Karagülle)
      Schedule: Do 12:00-14:00 (Class starts on: 2024-04-18)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Requirement

      ALP I-III, Foundations of Datenbase Systems, good programming knowledge.

      Comments

      Content

      A project seminar serves as preparation of a thesis (bachelor or master) in the AGDB. The focus of this project seminar lies on the analysis and visualization of medical data. Additionally, we will realize a small software project.

      Suggested reading

      Wird bekannt gegeben.

    • 19306411 Seminar
      Seminar: IT-Security (Volker Roth)
      Schedule: Do 14:00-16:00 (Class starts on: 2024-04-18)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Students are expected to:

      Give a technical presentation of their assigned topics; Demonstrate research software prototypes whenever applicable; Turn in a short technical report on their assigned topics (10 pages).

      Students will be graded on their preparedness for discussion, their presentations and their seminar report. The report must be typeset in LaTeX. Both the LaTeX source and the PDF generated from it must be submitted as a TAR or ZIP archive. A LaTeX template is here.

      The seminar report must contain references to all the articles that were used. Each literature entry must include a brief and concise summary of the article's contribution and the contribution's benefits. Please use the BibTex "note" field for this purpose and inline the bibliography by including the bbl file into the LaTeX source.

      Comments

      This Seminar will address IT-Security subjects.

      Details and description to be added soon.

      Suggested reading

      1. Anderson, Ross. "Why cryptosystems fail." In Proc. ACM Conference on Computer and Communications Security (CCS), pp. 215-227. ACM, 1993.
      2. Whitten, Alma, and J. Doug Tygar. "Why Johnny Can't Encrypt: A Usability Evaluation of PGP 5.0." In Usenix Security, vol. 1999. 1999.
      3. Artikel aus den Tagungsbänder der Konferenzen CHI, SOUPS, ACSAC.

    • 19307111 Seminar
      Seminar: Dependable Systems (Justus Purat)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: T9/049 Seminarraum (Takustr. 9)

      Comments

      The "Seminar: Distributed Systems" covers both theoretical and practical topics from various projects of the working group "Dependable Distributed Systems". A task must be completed alone or in a group of a maximum of 2-3 students through literature research, evaluation and writing of a scientific report.

      The seminar is assigned to various modules. Please find out in advance whether you can take the course in a module from your degree program

      Topics this semester are:
      - Blockchain - technologies in everyday life (PoW, PoS, offline usage)
      - Tangle - technologies as an alternative to blockchain for IoT
      - Could - Computing
      - Consensus algorithms

      Details will be discussed in the first meeting.
      The seminar: Distributed Systems is held in German or English, depending on the needs of the students.

    • 19311917 Seminar / Undergraduate Course
      Seminar/Proseminar: Artificial Intelligence - Autonomous Cars (Daniel Göhring)
      Schedule: Mo 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      Location: T9/049 Seminarraum (Takustr. 9)

      Comments

      Description:

      This seminar covers different topics from the research area of autonomous cars. We will focus on questions which can be the basis for Bachelor or Master theses as:

      vision based person or vehicle recognition, map generation from trajectories, V2V and V2X communication, object tracking and prediction, sensory data fusion, localization using map matching, recognition of drivable areas and free spaces using stereo vision, path planning with A*, RRT, potential fields, automatic sensor calibration, map data formats.

      Students can propose interesting topics, too. The seminar will be taught as a block course.

    • 19313017 Seminar / Undergraduate Course
      S/PS: Decisions in Software Engineering (Lutz Prechelt, Linus Ververs)
      Schedule: Mo 12:00-14:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Website

      • https://www.mi.fu-berlin.de/w/SE/SeminarDMinSE

      Target group:

      • Proseminar: Bachelor students who attend / have attended the module "Scientific Work in Computer Science" and apply the knowledge they have learnt and work scientifically for the first time in this seminar.
      • Seminar: Advanced Bachelor students who attend the module as part of their specialisation area or Master students


      Prerequisites:

      • It is strongly recommended that you have already attended the software engineering module (if not, please contact the lecturer in advance)

      Comments

      Software engineering (German: Softwaretechnik) is defined by the IEEE as:

      "The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." ("IEEE Standard Glossary of Software Engineering Terminology," in IEEE Std 610.12-1990 , vol., no., pp.1-84, 31 Dec. 1990, doi: 10.1109/IEEESTD.1990.101064.)

      Software engineering thus describes the process of how software is developed. This process is characterised by a large number of decisions that affect either the product to be developed (the software to be developed) or the development process itself.

      In this seminar, we will take a closer look at different types of decisions and analyse the current state of research. To this end, participants will prepare a presentation and a scientific paper on one of the following topics (other topics relevant to the seminar are also possible):

      • How do individuals make decisions? Which insights from psychology are important for the software development process?
      • How do groups of people make decisions? Which insights from sociology and economics can be applied to the software development process?
      • What software development process models are there and how do organisations decide between them?
      • Decisions on prioritising requirements in software engineering
      • Decisions on software design: how is software designed?
      • What are technical debts and why and when are they included?
      • Refactorings: Why, when and to what extent do organisations decide to refactor?
      • Recruiting developers: how do organisations select suitable developers?
      • Pair programming: What is it? How does knowledge transfer work in pair programming? Do developers make better decisions in pairs?

      In this seminar, students are expected to conduct independent research on the topic of their choice. Whether the course is booked as a seminar or a proseminar has an influence on the requirements:

      • Seminar: Here, several good sources (3-5) are to be found and a summary of the results presented. The aim is primarily to work out recommendations for the SE process.
      • Proseminar: Here, one good source should be found and presented in detail. Going into further related work is the freestyle.

      In the scientific articles presented, the conclusions presented should be critically analysed in terms of credibility and relevance.

      Suggested reading

      Die zur Auswahl stehenden Artikel finden Sie im Ressourcen-Ordner der KVV-Seite.

    • 19323111 Seminar
      Seminar: Security Engineering (Jörn Eichler)
      Schedule: Fr 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-19)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This seminar deals with current challenges in the development of secure IT systems. Topics from the entire development cycle are considered - from risk assessment as part of the requirements analysis to the modeling and evaluation of protection concepts and analysis techniques for software artefacts.


      Participants prepare a scientific paper in several steps during the semester and present it in the seminar. Intermediate results are discussed together as part of a peer review. Depending on the topic chosen, a practical task can also be worked on.

      Participation in the seminar may be in German or English.

      The course will take place as a block seminar on demand, preliminary discussion on Friday, 19.4. at 12.00 h in SR 006.

    • 19328217 Seminar / Undergraduate Course
      Seminar/Proseminar: New Trends in Information Systems (Muhammed-Ugur Karagülle)
      Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
      Location: A7/SR 031 (Arnimallee 7)

      Comments

      This seminar aims at studying recent trends in data management. Among others, we will look at two emerging topics, namely Location-Based Services (LBS) and Event-Based Services (EBS).

      Event-based Systems (EBS) are part of many current applications such as business activity monitoring, stock tickers, facility management, data streaming, or security. In the past years, the topic has gained increasing attention from both the industrial and the academic community. Current research concentrates of diverse aspects that range from event capture (incoming data) to response triggering. This seminar aims at studying some of the current trends in Event-based Systems with a strong focus on models and design. Location-based services are now often part of every day's life through applications such as navigation assistants in the public or private transportation domain. The underlying technology deals with many different aspects, such as location detection, information retrieval, or privacy. More recently, aspects such as user context and preferences were considered in order to send users more personalized information.

      A solid background in databases is required, typically a database course at a bachelor level.

      Suggested reading

      Wird bekannt gegeben.

    • 19334011 Seminar
      Seminar: Explainable AI for Decision Making (Grégoire Montavon)
      Schedule: Mi 14:00-16:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: A7/SR 031 (Arnimallee 7)

      Comments

      Explainable AI is a recent and growing subfield of machine learning (ML) that aims to bring transparency into ML models without sacrificing their predictive accuracy. This seminar will explore current research on the use of Explainable AI for building models whose decisions are more trustworthy. Techniques to verify existing models and to correct flaws identified by the user from explanations will be covered. Students will select a few papers from a pool of thematically relevant research papers, which they will read and present over the course of the semester.

    • 19335011 Seminar
      Networks, dynamic models and ML for data integration in the life sciences (Katharina Baum, Pascal Iversen)
      Schedule: Fr 12:00-13:30 (Class starts on: 2024-04-19)
      Location: T9/137 Konferenzraum (Takustr. 9)

      Comments

      Group seminar of the lab of Katharina Baum, Data Integration in the Life Sciences (DILiS). Open to participants from the Master's program, online-participation possible. Please check the Whiteboard for the up-to-date schedule!

    • 19336717 Seminar / Undergraduate Course
      From EHR to PPIs: databases for biomedical data and how they advance research (Katharina Baum)
      Schedule: Fr 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-12)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      In this seminar, you will learn about various databases, their structure and their programmatic use. You will also learn about the significance of the data stored in them and their use based on current research work.

      Examples of possible databases covered are

      •     MIMIC (electronic medical records),
      •     STRING (protein-protein interaction),
      •     Drugbank (drugs),
      •     PRIDE (protein measurements),
      •     GEO (for genomic data), etc.

      Each database will be used by all participants to answer a question at the end of the lecture in the course (the setup will be prepared by the lecturer) - so bring your laptop!

      Bachelor students can participate in this seminar, but the content is very advanced and largely based on current research. Basic literature is in English, so a good knowledge of the English language is required.

      We will meet on Friday, April 12, 2024 at 10:15 am (s.t.) (in a hybrid setting, please check out the Whiteboard for room and/or access link) for a first introduction and topic assignment. Please contact us early (katharina.baum@fu-berlin.de) in case you want to participate in the seminar and cannot attend this meeting.

  • Academic Work in Theoretical Computer Science

    0086cB1.5
    • 19306411 Seminar
      Seminar: IT-Security (Volker Roth)
      Schedule: Do 14:00-16:00 (Class starts on: 2024-04-18)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Students are expected to:

      Give a technical presentation of their assigned topics; Demonstrate research software prototypes whenever applicable; Turn in a short technical report on their assigned topics (10 pages).

      Students will be graded on their preparedness for discussion, their presentations and their seminar report. The report must be typeset in LaTeX. Both the LaTeX source and the PDF generated from it must be submitted as a TAR or ZIP archive. A LaTeX template is here.

      The seminar report must contain references to all the articles that were used. Each literature entry must include a brief and concise summary of the article's contribution and the contribution's benefits. Please use the BibTex "note" field for this purpose and inline the bibliography by including the bbl file into the LaTeX source.

      Comments

      This Seminar will address IT-Security subjects.

      Details and description to be added soon.

      Suggested reading

      1. Anderson, Ross. "Why cryptosystems fail." In Proc. ACM Conference on Computer and Communications Security (CCS), pp. 215-227. ACM, 1993.
      2. Whitten, Alma, and J. Doug Tygar. "Why Johnny Can't Encrypt: A Usability Evaluation of PGP 5.0." In Usenix Security, vol. 1999. 1999.
      3. Artikel aus den Tagungsbänder der Konferenzen CHI, SOUPS, ACSAC.

    • 19306711 Seminar
      Seminar on Complexity Theory (Michaela Krüger)
      Schedule: Do 14:00-16:00 (Class starts on: 2024-04-18)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      Contents

      The well known complexity classes P and NP classify decision problems. Usually, one is interested in the solution itself though, and not just whether a solution exists or not. In this seminar we will look at search problen complexity classes and how the complexity of search and decision versions of problems differ.
      In particular we will look at total seach problems, i.e. problems for which there always exists a solution, which is still hard to find. Classes considered are for example PLS, PPAD, PPP, CLS/EOPL/PLS intersected PPAD and UEOPL.
      The literature will be in English, talks can be in German or English, depending on the audience.

      Target audience

      Masters students in computer science and mathematics.

      Recommended prerequisites

      - "Advanced algorithms" or a similar class.
      - P, NP and the concept of reductions is known.

      Suggested reading

      Spezialliteratur aus Zeitschriften

    • 19331617 Seminar / Undergraduate Course
      Seminar/Proseminar: Information-theoretical principles of ML (Gerhard Wunder)
      Schedule: Fr 12:00-14:00 (Class starts on: 2024-04-19)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This (Pro-)Seminar takes place regularly every semester and is directed to Bachelor and Masterstudents. It covers basic and advanced (actual) topics of information-theoretic principles of machine learning. An indicative but not complete list of possible topics is:

      • Probability distributions
      • Elements of learning theory
      • Entropy measures, cross-entropy
      • Mutual information and distance metrics on probability distributions
      • Compression and representation learning
      • Autoencoders and variational autoencoders
      • Privacy-preserving ML
      • Robustness, adversarial ML
      • Pattern recognition and anomaly detection
      • Statistical signal processing and machine learning
      • Advanced generative models (diffusion models, transformers, ...)
      • NLP
      • Causality and information decomposition

       

    • 19335011 Seminar
      Networks, dynamic models and ML for data integration in the life sciences (Katharina Baum, Pascal Iversen)
      Schedule: Fr 12:00-13:30 (Class starts on: 2024-04-19)
      Location: T9/137 Konferenzraum (Takustr. 9)

      Comments

      Group seminar of the lab of Katharina Baum, Data Integration in the Life Sciences (DILiS). Open to participants from the Master's program, online-participation possible. Please check the Whiteboard for the up-to-date schedule!

  • Academic Work in Computer Systems

    0086cB1.6
    • 19307111 Seminar
      Seminar: Dependable Systems (Justus Purat)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: T9/049 Seminarraum (Takustr. 9)

      Comments

      The "Seminar: Distributed Systems" covers both theoretical and practical topics from various projects of the working group "Dependable Distributed Systems". A task must be completed alone or in a group of a maximum of 2-3 students through literature research, evaluation and writing of a scientific report.

      The seminar is assigned to various modules. Please find out in advance whether you can take the course in a module from your degree program

      Topics this semester are:
      - Blockchain - technologies in everyday life (PoW, PoS, offline usage)
      - Tangle - technologies as an alternative to blockchain for IoT
      - Could - Computing
      - Consensus algorithms

      Details will be discussed in the first meeting.
      The seminar: Distributed Systems is held in German or English, depending on the needs of the students.

    • 19329617 Seminar / Undergraduate Course
      Seminar/Proseminar: IoT in smart homes (Larissa Groth)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: K 063 Hardwarepraktikum (Takustr. 9)

      Comments

      This seminar focuses on various aspects of Computer Engineering. At the beginning of the seminar, topic proposals will be provided, primarily addressing aspects of the Internet of Things and security considerations in Smart Homes. Additionally, students are welcome to suggest their own topics, but these must be related to technical informatics. The topics can be worked on individually or in small groups (2 students), but it should be clear who contributed to each part of the seminar paper.

      Regarding the schedule, this seminar takes place throughout the semester with a few mandatory meetings. During the first session on April 16, 2024, the list of topics will be distributed and discussed. Please prepare a brief overview (2-3 minutes) of your own topic proposal if you intend to contribute it to the seminar. In the following week (April 23, 2024, no in-person meeting!), topics will be assigned through a Whiteboard Assignment. Subsequently, there are a total of three presentation dates: the presentation of the topics (May 7, 2024), a brief interim presentation (June 4, 2024, and June 11, 2024), and the final presentation (July 9, 2024, July 16, 2024, and possibly July 23, 2024).

  • Image Processing

    0089cA1.1
    • 19303001 Lecture
      Image processing (Daniel Göhring)
      Schedule: Di 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      Content

      In this lecture, fundamental methods of image processing will be introduced. The following topics will be covered:

      • Images and image sensors
      • Color spaces
      • Image statistics
      • Histograms
      • Filtering methods
      • Convolution and Convolution Theorem
      • Discrete Fourier Transformation
      • Fast Fourier Transformation
      • Discrete Cosine Transformation
      • JPEG
      • Haar Wavelets
      • Image Pyramids
      • Image Blending

       

      Suggested reading

      Rafael Gonzalez, C., and Richard Woods. "Digital image processing" Pearson Education.

    • 19303002 Practice seminar
      Practice seminar for Image processing (Daniel Göhring)
      Schedule: Do 12:00-14:00 (Class starts on: 2024-04-18)
      Location: T9/SR 005 Übungsraum (Takustr. 9)
  • Computer Graphics

    0089cA1.2
    • 19303201 Lecture
      Computer graphics (Marco Block-Berlitz)
      Schedule: Fr 10:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-19)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      Contents of the lecture

      • General overview of computer graphics
      • Basics of computer graphics
        • Points, lines, polygons, circles, ellipses
        • Filling areas, clipping and curves
      • OpenGL and GLSL
        • Introduction to OpenGL with LWJGL
        • Shader programming in GLSL
        • Developing simple game environments
      • Basics of lighting design
        • Perception of light, color blindness, barrier-free UIs
        • Goals of lighting design
        • Three- and four-point lighting, composition of a scene
      • Local lighting models
        • Material properties, light source models
        • Elementary lighting models
        • Lighting models from Phong and OpenGL
      • Shading models and visual perception
        • Flat and Gouraud shading
        • Neural networks and Machband effect, Phong shading
      • Texture mapping
        • General and procedural
        • Perlin noise
      • Normal mapping
      • Geometric transformations
        • SD and 3D, homogeneous coordinates
        • Euler angles and quaternions
      • Coordinate systems
        • World space, view space, clip space, MVP matrix
        • Tangential space, orthogonalization
      • Microstructures with BRDF
        • Radiometry, Cartesian and polar coordinates
        • Solid angle, render equation
        • Derivation and investigation of BRDFs
      • Displacement mapping
        • Per-vertex and per-pixel displacement mapping
      • Real-time shadows
        • Hard, soft and filtered hard shadows
        • Shadow volumes, shadow mapping
        • Screen-Space-Ambient-Occlusion

      Some of the topics are presented with program examples in Java, LWJGL, OpenGL and GLSL.
      These tools are also provided for working on the exercises.

      The necessary mathematical basics will be introduced if required.

      Target Audience

      B.Sc.-students in their fifth semester, M.Sc.-students in computer science, mathematics, physics, etc.,

      Suggested reading

      Literatur zur Veranstaltung

      [1] Block-Berlitz M.: "Warum sich der Dino furchtbar erschreckte - Lehrbuch zu Beleuchtung und Rendering mit Java,
           LWJGL, OpenGL, OpenCV und GLSL", vividus Wissenschaftsverlag, 3. Auflage, 2021

      Ergänzende Literatur

      [2] Birn J.: "Digital Lighting & Rendering", 3. Auflage, New Riders Verlag, 2015
      [3] Foley J.D., et al.: "Computer Graphics: Principles and Practise", Addison-Wesley Verlag, 2. Auflage, 1997
      [4] Shirley P., et al.: "Fundamentals of Computer Graphics", CRC Press, AK Peters, 3. Auflage, 2009
      [5] Akenine-Möller T., et al.: "Real-Time Rendering", 3. Auflage, AK Peters, 2008
      [6] Eisemann E., et al.: "Real-Time Shadows", CRC Press, AK Peters, 2012
      [7] Gortler S. J.: "Founddations of 3D Computer Graphics", MIT Press, 2012
      [8] Han JH: "3D Graphics for Game Programming", CRC Press, 2011
      [9] Ammeraal L, et al.: "Computer Graphics for Java Programmers", Springer Verlag, 3. Auflage, 2017
      [10] Olano M. et al.: "Real-Time Shading", AK Peters, 2002
      [11] Shreiner M., et al.: "OpenGL Programming Guide: The Official Guide to Learning OpenGL", Addison-Wesley Verlag, 2007
      [12] Angel E.: "Interactive Computer Graphics", Addison-Wesley Verlag, 4. Auflage, 2006

       

    • 19303202 Practice seminar
      Practice seminar for Computer graphics (Marco Block-Berlitz)
      Schedule: Fr 14:00-16:00 (Class starts on: 2024-04-19)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      In der Vorlesung "Computergrafik" werden die vorgestellten Themen teilweise mit Programmbeispielen in
      Java, LWJGL, OpenGL und GLSL vorgestellt [1]. Diese Beispiele liegen als Programmpaket für die Bearbeitung
      und Ausführung in Eclipse bereit:

      http://www.vividus-verlag.de/beleuchtung_und_rendering

      Diese Werkzeuge sind für die Bearbeitung der Übungsaufgaben ebenfalls vorgesehen. In vorheriger Absprache
      können allerdings auch andere Werkzeuge, als die zuvor genannten, zum Einsatz kommen.

       

      [1] Block-Berlitz M.: "Warum sich der Dino furchtbar erschreckte - Lehrbuch zu Beleuchtung und Rendering
      mit Java, LWJGL, OpenGL, OpenCV und GLSL", vividus Wissenschaftsverlag, 3. Auflage, 2021

  • Software Project: Applied Computer Science A

    0089cA1.23
    • 19308412 Project Seminar
      Software Project: Data Management (Muhammed-Ugur Karagülle)
      Schedule: Mo 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-15)
      Location: 1.1.26 Seminarraum E1 (Arnimallee 14)

      Additional information / Pre-requisites

      Target group

      Students in the Master's or Bachelor's programme

       

      Prerequisites

      Good programming skills, introduction to database systems.

      Comments

      Subject of the project: either development of software together with a company (in this case: 4­ weeks fulltime August/September) or we build a so called NoSQL system. Decision in March. Further information are published in the KVV.

      Suggested reading

      Wird bekannt gegeben. / To be announced.

    • 19314012 Project Seminar
      Software Project: Semantic Technologies (Adrian Paschke)
      Schedule: Mi 14:00-16:00 (Class starts on: 2024-04-17)
      Location: T9/055 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Further information can be found on the course website

      Comments

      Mixed groups of master and bachelor students will either implement an independent project or are part of a larger project in the area of semantic technologies. They will gain in-depth programming knowledge about applications of semantic technologies and artificial intelligence techniques in the Corporate Semantic Web. They will practice teamwork and best practices in software development of large distributed systems and Semantic Web applications. The software project can be done in collaboration with an external partner from industry or standardization. It is possible to continue the project as bachelor or master thesis.

    • 19322512 Project Seminar
      Software Project: GPU Offloading and Compiler Optimization (Barry Linnert)
      Schedule: Mi 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-24)
      Location: T9/046 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      Bachelor and Master of Computer Science

      Homepage

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

      Lecturer & Contact Person

      Barry Linnert

      Comments

      Pony [1] is a programming language designed to be high performant.
      It makes use of the actor paradigm [2]:
      every sequential piece of code should be written as an actor
      but the actors themselves run concurrently and independent from
      each other.
      Concurrency on the level of tasks [3] (in this case a task is an actor)
      provides speed up by design.
      However, there are other forms of parallelism on other levels
      that could be exploited to make Pony even more performant.
      Parallelism on data level [4] can for example be found in a loop nest
      that executes many times on independent but equally structured data.

      Graphic processing units (GPUs) specialize in computing data-level
      parallel problems.[5]
      In a system where a GPU complements a CPU data-level parallel portions
      of code can be offloaded to the GPU.
      The GPU takes care of calculating the data-level parallel problem
      and uses its ressources to do this very fast.
      This way a speed up of the overall program can be achieved.

      In this software project we want to explore if GPU Offloading can be
      integrated in the Pony Programming language.
      In order to do that we take a look at the Pony compiler and experiment
      with it and rewrite parts of it.

      You can learn about the internal workings of a compiler
      and how GPUs can be leveraged to achieve the speed up of a program.
      Further, we will get to know more about
      the compiler infrastructure LLVM [6] that the Pony compiler is a frontend of.
      If you have never heard of LLVM before then maybe it is interesting for you to know
      that the Rust and Clang compiler are other frontends to LLVM.

      In its core this software project is a research project --
      possibly with the option to later publish the results of our experiments
      and contribute to the open source projects Pony and LLVM.

       

      Links:

      [1]: [Pony](https://www.ponylang.io/discover/#what-is-pony)
      [2]: [Actor Model](https://en.wikipedia.org/wiki/Actor_model)
      [3]: [Task-level parallelism](https://en.wikipedia.org/wiki/Task_parallelism)
      [4]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Page 528.
      [5]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Appendix B.
      [6]: [LLVM](https://llvm.org/)

       

    • 19323612 Project Seminar
      The AMOS Project (Lutz Prechelt, Dirk Riehle)
      Schedule: Mi 10:00-14:00 (Class starts on: 2024-04-17)
      Location: Online - zeitABhängig

      Additional information / Pre-requisites

      Educational objectives and competencies

      • Students learn about software products and software development in an industry context
      • Students learn about agile methods, in particular Scrum and Extreme Programming
      • Students learn about open source software development and its underlying principles
      • Students gain practical hands-on experience with a Scrum process and XP technical practices

      Target group

      Students of computer science (and related fields). If you want to play the software developer role, you should have had practical programming experience. This is not a course to learn programming.

      Language

      English (lectures in English, team meeting German or English by choice of student team)

      Grading

      • Software developer
        • 10% of grade: 5 class quizzes, each consisting of 5 questions at 2 points each
        • 90% of grade: Weekly project work

      Other

      • SWS: 4 SWS (2 SWS lecture, 2 SWS team meeting)
      • Semester: Every semester
      • Modality: Online, across multiple universities
      • Tags: Scrum

       

      Comments

      This course teaches agile methods (Scrum and XP) and open source tools using a single semester-long project. It takes place online and across multiple universities. Topics covered are:

      • Agile methods and related software development processes
      • Scrum roles, process practices, including product and engineering management
      • Technical practices like refactoring, continuous integration, and test-driven development
      • Principles and best practices of open source software development

      The project is a software development project in which each student team works with an industry partner who provides the idea for the project. This is a practical hands-on experience.

      Students play the role of a software developer. In this role, students estimate the effort for requirements and implement them. Students must have prior software development experience.

      Students will be organized into teams of 7-9 people, combining one Scrum master with two product owners with six software developers.

      An industry partner will provide requirements to be worked out in detail by the product owners and to be realized by the software developers. The available projects will be presented in the run-up to the course.

      Class consists of a 90 min. lecture followed by a 90 min. team meeting. Rooms and times for team meetings are assigned at the beginning of the semester. You must be able to regularly participate in the team meetings. If you can't, do not sign up for this course.

      Sign-up and further course information are available through a Google spreadsheet at https://amos.uni1.de – please declare your interest by filling out the course interest declaration survey as soon as it opens.

      Suggested reading

      http://goo.gl/5Wqnr7

    • 19329012 Project Seminar
      Softwareproject: Continual Learning (Manuel Heurich)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      ,,

      Comments

      This course explores the concepts and techniques of continuous learning, an important area in machine learning. Continual learning, also known as lifelong learning, refers to the ability of AI systems to continuously learn and adapt to new information without losing previously acquired knowledge. This ability is crucial for the development of more flexible and adaptive AI systems, especially in rapidly changing and data-rich environments.

      The course is for bio-informatics, computer science and data science students who want to develop a deeper understanding of advanced concepts in machine learning and gain hands-on experience in Continuous Learning.

       

       

      Suggested reading

      ,,

    • 19329912 Project Seminar
      Software Project: Threat Assessment and Hacking Challenge (Volker Roth)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/055 Seminarraum (Takustr. 9)

      Comments

      Students will be tasked to devise and implement a basic consumer electronic device of
      their choice (e.g. RFID tagging system, radio controller, keyboard) using a development platform
      (Propeller 1, Raspberry PI, Arduino), focusing on threat modelling and assessment for possible
      attacks on their device. At the half of the semester they will present their result and asked to assess
      and break into other groups UI prototypes, presenting once more their results at the end of the
      semester.

    • 19333912 Project Seminar
      Implementation Project: Lab Machine Learning for Data Science (Grégoire Montavon)
      Schedule: Fr 14:00-16:00 (Class starts on: 2024-04-19)
      Location: T9/K 036 Rechnerpoolraum (Takustr. 9)

      Comments

      The course will consist of applying machine learning techniques for extracting domain insights from real-world or simulated datasets. It will take the form of multiple lab exercises in Python, where the students will extract data, apply visualization techniques, train machine learning models on this data, use model selection/validation techniques, and finally apply interpretability techniques to extract domain insights from the learned models.

      Recommended prior course: Machine Learning for Data Science

      Format: Oral exam at the end of the semester

       

    • 19334212 Project Seminar
      Softwareprojekt: Machine Learning in the Life Sciences (Katharina Baum)
      Schedule: Di 14:00-16:00, Di 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/049 Seminarraum (Takustr. 9)

      Comments

      Throughout this project, we will train various machine learning (ML) methods and evaluate their outcomes. To achieve this, we will prepare and analyze different datasets from the life sciences field, some of which may be large, for machine learning purposes aligned with predefined questions. These questions can either be provided by us, closely tied to our research interests, or developed collaboratively. A specific application could be in personalized medicine, such as predicting the efficacy of cancer drugs using comprehensive data from cancer cells, or making temporal forecasts, for instance, predicting infection rates during epidemics. We will use Python as the programming language, and we plan to employ modern Python modules for ML, such as scikit-learn, TensorFlow, or PyTorch. Proficiency in Python is a prerequisite. The objective is to create a Python package that delivers reusable code tailored for the specific use case, encompassing preprocessing, training ML models, evaluating results, and documentation (e.g., using sphinx). This software project will run concurrently with the semester.

      Update 22.04.: We still have spots available! 

      If you're interested and want to register in the CM, please contact us at pascal.iversen@fu-berlin.de and pauline.hiort@fu-berlin.de.

      We plan to offer one of two possible projects: 
      (1)    Active learning for drug response prediction in cancer: The project aims to improve the prediction of drug efficacy in cancer using deep learning models through active learning. 
      (2)    Deep learning for drug combination response prediction: Here, you will implement a deep learning baseline for predicting drug combinations and compare it with a published method. You will then test the methods with randomized input.
      On Whiteboard, you'll find more information about it.

    • 19334412 Project Seminar
      SWP: Scenario Management in the Future Security Lab (Larissa Groth)
      Schedule: Di 12:00-14:00 (Class starts on: 2024-04-16)
      Location: T9/K 040 Multimediaraum (Takustr. 9)

      Comments

      The BeLIFE project, part of the working group Telematics & Computer Systems, focuses on improving knowledge transfer and communication in civil security research. A central component of the project is the Future Security Lab, located at the Einstein Center Digital Future (ECDF) in Mitte. The lab welcomes politicians from federal and state levels, as well as representatives from authorities and organizations with security responsibilities.

      Within the software project, students develop concepts to optimize and creatively enhance the existing technical infrastructure of the space. The goal is to increase the usability of the space for scientists and improve the user experience for visitors. To achieve this, the software project consists of several sub-areas, either arising from a specific problem to be solved or requiring creative approaches and ingenuity. Tasks include system administration, interface development, as well as light/sound installation and orchestration. Examples of challenges include the parallel startup of all computers in a network via WakeOn LAN from a web app or optimizing the existing web app for scenario presentation.

      The tasks are exclusively addressed in small groups (3-5 students). Collaboration and code availability are facilitated through the department's own GitLab or a public GitHub. Results should be well-documented, for example, through README files in Git and a well-structured wiki. Modularity and expandability of the developed code, along with thorough documentation, are crucial for the success of this software project!

      Regarding the process, this software project takes place throughout the semester. There are a few mandatory large group meetings with all participants. In addition, there are short weekly meetings where at least one group member reports on the current status. The first meeting (April 16, 2024) will be held in Berlin Mitte at the Future Security Lab, Wilhelmstr. 67, 10117 Berlin. During this session, already implemented solutions will be presented, and issues will be discussed. There are a total of three presentation dates: the presentation of an initial approach to problem-solving (May 7, 2024), a brief interim presentation (June 4, 2024), and the final presentation (July 16, 2024).

      Students also regularly have the opportunity to work in the Future Security Lab premises, familiarize themselves with the equipment, and conduct tests.

    • 19337112 Project Seminar
      Softwareproject: Open Hardware (Tim Landgraf)
      Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
      Location: T9/049 Seminarraum (Takustr. 9)

      Comments

      In the scientific community, the practice of open source code and open
      source code and open data as a standard for reproducibility and transparency.
      established. In contrast, open hardware is still at an early stage of development.
      an early stage of development. Researchers often develop their own hardware
      hardware solutions are often developed - either for financial reasons or because
      commercial products do not fulfil the specific requirements. These
      developments are rarely recognised as fully-fledged research results and are
      and are usually only mentioned in scientific publications as methodological
      methodological components in scientific publications. In this project, we are investigating how an
      open publication system can be designed to enable researchers to
      researchers to publish their developments in the field of open hardware more effectively.
      more effectively. Our aim is to develop a system that facilitates the easy
      publication, peer review and verification of open hardware in scientific research.
      scientific research.

       

  • Current research topics in Applied Computer Science

    0089cA1.27
    • 19302801 Lecture
      Applied Biometrics (Volker Roth, Andreas Wolf)
      Schedule: Mo 08:00-10:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      The course is scheduled to begin on Friday, April 15.

      The lecture notes are available at

      https://drive.google.com/drive/folders/0B7NhYbv9QewkRkk2WVRuM2Rqd00?usp=sharing

      Webex Link zu der Veranstaltung:

      Meeting-Link: https://fu-berlin.webex.com/fu-berlin/j.php?MTID=m2cc50d96918fcaeb09f3c36a264f4f29

      Meeting-ID: 121 079 7504

      Meeting-Password: mCwDw274PS8

      Comments

      The lecture held by Dr. Andreas Wolf (from the Bundesdruckerei) He will give a broad overview of biometric processes and applications. He will also address the current issues with ePassports and new electronic identity cards.

      The course aims to include:

      • General structure of biometric systems
      • Features of biometric modalities
      • IT security and risk assessment
      • Errors in biometric processes
      • Fingerprinting
      • Facial and iris recognition
      • Speaker recognition and other modalities
      • Standards
      • ePassport

      Next to the theoretical foundations of biometric modalities, the students are to develop the ability to assess the applicability of biometrics in various scenarios.

    • 19325301 Lecture
      Cluster Computing (Barry Linnert)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      • Computer Science Master students

      Requirements

      • Experience with computers and software as well as programing skills.

      Language

      • The course language is German (or English if requested).
      • The exam will be formulated in German, but answers may be given in English, too.

      Credits & Exams

      The criteria for gaining credits are

      • active participation in the tutorials: regular preparation of assignements & presentation of results in the tutorials
      • passing of the exam

      Website

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

       

      Comments

      Cluster computer are the prevailing type of high performance computers. They are built of custom off-the-shelf processor boards that are connected by a high speed interconnection network. Although usually locally integrated, they are conceptually distributed systems with local operating system images. Their enormous potential, however, can only be exploited, if program code and data are optimally distributed across the nodes. Cluster management mechanisms also need to be scalable to be employed in systems with thousands of nodes. The lecture course gives an overview of the architecture of cluster computers and the related management problems for which algorithmic solutions are presented.

      Suggested reading

      • Heiss, H.-U.: Prozessorzuteilung in Parallelrechnern, BI-Verlag, Mannheim, 1996
      • Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000
      • Pfister, G.: In Search of Clusters 2nd ed., Prentice Hall, 1998
      • Zomaya, A.: Parallel and distributed computing handbook, McGraw Gill, 1995
      • Buyya, R.: High Performance Cluster Computing, Vol. 1+2, Prentice Hall, 1999

    • 19327401 Lecture
      Image- and video coding (Heiko Schwarz)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This course introduces the most important concepts and algorithms that are used in modern image and video coding approaches. We will particularly focus on techniques that are found in current international video coding standards.

      In a short first part, we introduce the so-called raw data formats, which are used as input and output formats of image and video codecs. This part covers the following topics:

      • Colour spaces and their relation to human visual perception
      • Transfer functions (gamma encoding)
      • Why do we use the YCbCr format?

      The second part of the course deals with still image coding and includes the following topics:

      • The start: How does JPEG work?
      • Why do we use the Discrete Cosine Transform?
      • Efficient coding of transform coefficients
      • Prediction of image blocks
      • Adaptive block partitioning
      • How do we take decisions in an encoder?
      • Optimized quantization

      In the third part, we discuss approaches that make video coding much more efficient than coding all pictures using still image coding techniques:

      • Motion-compensated prediction
      • Coding of motion vectors
      • Algorithms for motion estimation
      • Sub-sample accurate motion vectors and interpolation filters
      • Usage of multiple reference pictures
      • What are B pictures and why do we use them?
      • Deblocking and deringing filters
      • Efficient temporal coding structures

      In the exercises, we will implement our own image codec (in a gradual manner). We may extend it to a simple video codec.

       

      Suggested reading

      • Bull, D. R., “Communicating Pictures: A Course in Image and Video Coding,” Elsevier, 2014.
      • Ohm, J.-R., “Multimedia Signal Coding and Transmission,” Springer, 2015.
      • Wien, M., “High Efficiency Video Coding — Coding Tools and Specifications,” Springer 2014.
      • Sze, V., Budagavi, M., and Sullivan, G. J. (eds.), “High Efficiency Video Coding (HEVC): Algorithm and Architectures,” Springer, 2014.
      • Wiegand, T. and Schwarz, H., "Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 4, no. 1–2, 2011.
      • Schwarz, H. and Wiegand, T., “Video Coding: Part II of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 10, no. 1–3, 2016.

    • 19330601 Lecture
      Human-Computer Interaction (Claudia Müller-Birn, Valeria Zitz)
      Schedule: Do 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-18)
      Location: A7/SR 031 (Arnimallee 7)

      Additional information / Pre-requisites

      The lecture will be held online only during summer term 2021.

      For further information: https://www.mi.fu-berlin.de/en/inf/groups/hcc/teaching/summer_term_2021/index.html

      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.

    • 19331101 Lecture
      Human Centered Data Science (Claudia Müller-Birn)
      Schedule: Do 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: T9/049 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      [link HCC-Webseite aktuelles Semester]

      Comments

      Data science has experienced rapid growth in recent years, driven largely by advances in machine learning. This development has opened up new opportunities in a wide range of social, scientific, and technological fields. However, it has become increasingly clear that focusing solely on the statistical and numerical aspects of data science often overlooks social nuances and ethical considerations. The field of Human-Centered Data Science (HCDS) is emerging to fill this gap, combining elements of human-computer interaction, social science, statistics, and computational techniques.

      HCDS emphasizes the fundamental principles of data science and its human implications. These include research ethics, privacy, legal frameworks, algorithmic bias, transparency, fairness, accountability, data provenance, reproducibility, user experience design, human computation, and the societal impact of data science.

      By the end of this course, students will be expected to

      • Apply human-centered design methods to data science practice, taking into account ethical concerns and privacy requirements.
      • Construct a reproducible data science workflow.
      • Understand and differentiate key terms such as bias, fairness, accountability, transparency, and interpretability.
      • Apply measures, techniques, and frameworks to make their data science results interpretable in the context of human-centered explainable AI (HC-XAI).
      • Enhance data science workflows with qualitative research approaches.
      • Be aware of the existing measures, techniques, and approaches that help to reflect on data science practices.

      Students will not only understand the core concepts, theories, and practices of HCDS, but also the multiple perspectives from which data can be collected and processed. In addition, students will gain insight into the potential societal implications of current technological advances. This course aims to equip students with the ability to apply data science techniques in a mindful and conscientious manner, taking into account human and societal contexts, resulting in more ethical, inclusive, and meaningful data-driven solutions.

      Suggested reading

      Aragon, Cecilia, et al. "Developing a research agenda for human-centered data science." Proceedings of the 19th ACM Conference on Computer Supported Cooperative Work and Social Computing Companion. 2016.

      Baumer, Eric PS. “Toward Human-Centered Algorithm Design.” Big Data & Society, 4(2), Dec. 2017. 

      Kogan, Marina, et al. "Mapping Out Human-Centered Data Science: Methods, Approaches, and Best Practices." Companion of the 2020 ACM International Conference on Supporting Group Work. 2020. pp. 151-156.

    • 19333701 Lecture
      Ethics and Epistemology of AI (Christoph Benzmüller)
      Schedule: Mi 12:00-14:00 (Class starts on: 2024-04-17)
      Location: Virtueller Raum 19

      Comments

      The course is held in cooperation with Prof. Sabine Ammon (TU Berlin).

       

      Content:

      Students will learn to critically assess the relationship between technology and society and to analyze the interactions between technology and society from an ethical perspective. Furthermore, students will deal with the deconstruction of the concept of neutrality of technology and learn to critically assess it. At the same time, the environment will be taken as a stakeholder in its own right in order to consider the impact of technological applications from a sustainability perspective. The course will provide students with the necessary theoretical foundations stemming from both Computer Science (in particular AI and digital technologies) and Ethics. This knowledge will be put into practice and deepened through case-based projects carried out in interdisciplinary groups.

       

      Knowledge:

      • Acquiring an understanding of foundational concepts of Philosophy and Ethics of Artificial Intelligence (AI) and their application in research and practice in the field;
      • acquiring an overview of the current ethical challenges in AI;
      • transdisciplinary perspectives on these said challenges (including sociological, ecological, political, economic, cultural, historical issues, etc.).

       

      Skills:

      • Critical discussion and evaluation of various current perspectives among ethical debates in Philosophy and Ethics of AI;
      • development of own argumentative positions based on the fundamental concepts of Philosophy and Ethics of AI (articulation of logical reasoning supported by examples);
      • drafting of current and practical case studies in relation to contemporary societal challenges and assessment of these case studies through interdisciplinary perspectives.

       

      Competencies:

      • Ability to apply methods of interdisciplinary cooperation, specifically at the intersection of humanities/social sciences and natural/technical sciences;
      • ability to discuss and integrate critical feminist, queer and anti-racist perspectives on science, i.e., how sociotechnical problems surrounding race, gender, sexuality, status, class, ability etc. relate to institutional structures of power and domination;
      • effective self-management in a collaborative group setting.

       

    • 19302802 Practice seminar
      Practice seminar for Applied Biometrics (Andreas Wolf)
      Schedule: Mo 10:00-12:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)
    • 19325302 Practice seminar
      Practice seminar for Cluster Computing (Barry Linnert)
      Schedule: Do 10:00-12:00 (Class starts on: 2024-04-18)
      Location: T9/K 048 Rechnerpoolraum (Takustr. 9)
    • 19327402 Practice seminar
      Practice seminar for image- und video coding (Heiko Schwarz)
      Schedule: Mo 12:00-14:00 (Class starts on: 2024-04-15)
      Location: T9/055 Seminarraum (Takustr. 9)
    • 19330602 Practice seminar
      Practice Seminar on Human Computer Interaction I (Claudia Müller-Birn)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/049 Seminarraum (Takustr. 9)
    • 19331102 Practice seminar
      Practice Session on Human Centered Data Science (Claudia Müller-Birn)
      Schedule: Do 12:00-14:00 (Class starts on: 2024-04-18)
      Location: A3/Hs 001 Hörsaal (Arnimallee 3-5)
    • 19333702 Practice seminar
      Ethics and Epistemology of AI (Christoph Benzmüller)
      Schedule: Mi 14:00-16:00 (Class starts on: 2024-04-17)
      Location: Virtueller Raum 17
  • Special Aspects of Applied Computer Science

    0089cA1.28
    • 19302801 Lecture
      Applied Biometrics (Volker Roth, Andreas Wolf)
      Schedule: Mo 08:00-10:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      The course is scheduled to begin on Friday, April 15.

      The lecture notes are available at

      https://drive.google.com/drive/folders/0B7NhYbv9QewkRkk2WVRuM2Rqd00?usp=sharing

      Webex Link zu der Veranstaltung:

      Meeting-Link: https://fu-berlin.webex.com/fu-berlin/j.php?MTID=m2cc50d96918fcaeb09f3c36a264f4f29

      Meeting-ID: 121 079 7504

      Meeting-Password: mCwDw274PS8

      Comments

      The lecture held by Dr. Andreas Wolf (from the Bundesdruckerei) He will give a broad overview of biometric processes and applications. He will also address the current issues with ePassports and new electronic identity cards.

      The course aims to include:

      • General structure of biometric systems
      • Features of biometric modalities
      • IT security and risk assessment
      • Errors in biometric processes
      • Fingerprinting
      • Facial and iris recognition
      • Speaker recognition and other modalities
      • Standards
      • ePassport

      Next to the theoretical foundations of biometric modalities, the students are to develop the ability to assess the applicability of biometrics in various scenarios.

    • 19325301 Lecture
      Cluster Computing (Barry Linnert)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      • Computer Science Master students

      Requirements

      • Experience with computers and software as well as programing skills.

      Language

      • The course language is German (or English if requested).
      • The exam will be formulated in German, but answers may be given in English, too.

      Credits & Exams

      The criteria for gaining credits are

      • active participation in the tutorials: regular preparation of assignements & presentation of results in the tutorials
      • passing of the exam

      Website

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

       

      Comments

      Cluster computer are the prevailing type of high performance computers. They are built of custom off-the-shelf processor boards that are connected by a high speed interconnection network. Although usually locally integrated, they are conceptually distributed systems with local operating system images. Their enormous potential, however, can only be exploited, if program code and data are optimally distributed across the nodes. Cluster management mechanisms also need to be scalable to be employed in systems with thousands of nodes. The lecture course gives an overview of the architecture of cluster computers and the related management problems for which algorithmic solutions are presented.

      Suggested reading

      • Heiss, H.-U.: Prozessorzuteilung in Parallelrechnern, BI-Verlag, Mannheim, 1996
      • Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000
      • Pfister, G.: In Search of Clusters 2nd ed., Prentice Hall, 1998
      • Zomaya, A.: Parallel and distributed computing handbook, McGraw Gill, 1995
      • Buyya, R.: High Performance Cluster Computing, Vol. 1+2, Prentice Hall, 1999

    • 19327401 Lecture
      Image- and video coding (Heiko Schwarz)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This course introduces the most important concepts and algorithms that are used in modern image and video coding approaches. We will particularly focus on techniques that are found in current international video coding standards.

      In a short first part, we introduce the so-called raw data formats, which are used as input and output formats of image and video codecs. This part covers the following topics:

      • Colour spaces and their relation to human visual perception
      • Transfer functions (gamma encoding)
      • Why do we use the YCbCr format?

      The second part of the course deals with still image coding and includes the following topics:

      • The start: How does JPEG work?
      • Why do we use the Discrete Cosine Transform?
      • Efficient coding of transform coefficients
      • Prediction of image blocks
      • Adaptive block partitioning
      • How do we take decisions in an encoder?
      • Optimized quantization

      In the third part, we discuss approaches that make video coding much more efficient than coding all pictures using still image coding techniques:

      • Motion-compensated prediction
      • Coding of motion vectors
      • Algorithms for motion estimation
      • Sub-sample accurate motion vectors and interpolation filters
      • Usage of multiple reference pictures
      • What are B pictures and why do we use them?
      • Deblocking and deringing filters
      • Efficient temporal coding structures

      In the exercises, we will implement our own image codec (in a gradual manner). We may extend it to a simple video codec.

       

      Suggested reading

      • Bull, D. R., “Communicating Pictures: A Course in Image and Video Coding,” Elsevier, 2014.
      • Ohm, J.-R., “Multimedia Signal Coding and Transmission,” Springer, 2015.
      • Wien, M., “High Efficiency Video Coding — Coding Tools and Specifications,” Springer 2014.
      • Sze, V., Budagavi, M., and Sullivan, G. J. (eds.), “High Efficiency Video Coding (HEVC): Algorithm and Architectures,” Springer, 2014.
      • Wiegand, T. and Schwarz, H., "Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 4, no. 1–2, 2011.
      • Schwarz, H. and Wiegand, T., “Video Coding: Part II of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 10, no. 1–3, 2016.

    • 19330601 Lecture
      Human-Computer Interaction (Claudia Müller-Birn, Valeria Zitz)
      Schedule: Do 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-18)
      Location: A7/SR 031 (Arnimallee 7)

      Additional information / Pre-requisites

      The lecture will be held online only during summer term 2021.

      For further information: https://www.mi.fu-berlin.de/en/inf/groups/hcc/teaching/summer_term_2021/index.html

      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.

    • 19331101 Lecture
      Human Centered Data Science (Claudia Müller-Birn)
      Schedule: Do 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: T9/049 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      [link HCC-Webseite aktuelles Semester]

      Comments

      Data science has experienced rapid growth in recent years, driven largely by advances in machine learning. This development has opened up new opportunities in a wide range of social, scientific, and technological fields. However, it has become increasingly clear that focusing solely on the statistical and numerical aspects of data science often overlooks social nuances and ethical considerations. The field of Human-Centered Data Science (HCDS) is emerging to fill this gap, combining elements of human-computer interaction, social science, statistics, and computational techniques.

      HCDS emphasizes the fundamental principles of data science and its human implications. These include research ethics, privacy, legal frameworks, algorithmic bias, transparency, fairness, accountability, data provenance, reproducibility, user experience design, human computation, and the societal impact of data science.

      By the end of this course, students will be expected to

      • Apply human-centered design methods to data science practice, taking into account ethical concerns and privacy requirements.
      • Construct a reproducible data science workflow.
      • Understand and differentiate key terms such as bias, fairness, accountability, transparency, and interpretability.
      • Apply measures, techniques, and frameworks to make their data science results interpretable in the context of human-centered explainable AI (HC-XAI).
      • Enhance data science workflows with qualitative research approaches.
      • Be aware of the existing measures, techniques, and approaches that help to reflect on data science practices.

      Students will not only understand the core concepts, theories, and practices of HCDS, but also the multiple perspectives from which data can be collected and processed. In addition, students will gain insight into the potential societal implications of current technological advances. This course aims to equip students with the ability to apply data science techniques in a mindful and conscientious manner, taking into account human and societal contexts, resulting in more ethical, inclusive, and meaningful data-driven solutions.

      Suggested reading

      Aragon, Cecilia, et al. "Developing a research agenda for human-centered data science." Proceedings of the 19th ACM Conference on Computer Supported Cooperative Work and Social Computing Companion. 2016.

      Baumer, Eric PS. “Toward Human-Centered Algorithm Design.” Big Data & Society, 4(2), Dec. 2017. 

      Kogan, Marina, et al. "Mapping Out Human-Centered Data Science: Methods, Approaches, and Best Practices." Companion of the 2020 ACM International Conference on Supporting Group Work. 2020. pp. 151-156.

    • 19333701 Lecture
      Ethics and Epistemology of AI (Christoph Benzmüller)
      Schedule: Mi 12:00-14:00 (Class starts on: 2024-04-17)
      Location: Virtueller Raum 19

      Comments

      The course is held in cooperation with Prof. Sabine Ammon (TU Berlin).

       

      Content:

      Students will learn to critically assess the relationship between technology and society and to analyze the interactions between technology and society from an ethical perspective. Furthermore, students will deal with the deconstruction of the concept of neutrality of technology and learn to critically assess it. At the same time, the environment will be taken as a stakeholder in its own right in order to consider the impact of technological applications from a sustainability perspective. The course will provide students with the necessary theoretical foundations stemming from both Computer Science (in particular AI and digital technologies) and Ethics. This knowledge will be put into practice and deepened through case-based projects carried out in interdisciplinary groups.

       

      Knowledge:

      • Acquiring an understanding of foundational concepts of Philosophy and Ethics of Artificial Intelligence (AI) and their application in research and practice in the field;
      • acquiring an overview of the current ethical challenges in AI;
      • transdisciplinary perspectives on these said challenges (including sociological, ecological, political, economic, cultural, historical issues, etc.).

       

      Skills:

      • Critical discussion and evaluation of various current perspectives among ethical debates in Philosophy and Ethics of AI;
      • development of own argumentative positions based on the fundamental concepts of Philosophy and Ethics of AI (articulation of logical reasoning supported by examples);
      • drafting of current and practical case studies in relation to contemporary societal challenges and assessment of these case studies through interdisciplinary perspectives.

       

      Competencies:

      • Ability to apply methods of interdisciplinary cooperation, specifically at the intersection of humanities/social sciences and natural/technical sciences;
      • ability to discuss and integrate critical feminist, queer and anti-racist perspectives on science, i.e., how sociotechnical problems surrounding race, gender, sexuality, status, class, ability etc. relate to institutional structures of power and domination;
      • effective self-management in a collaborative group setting.

       

    • 19336901 Lecture
      Advanced Data Visualization for Artificial Intelligence (Georges Hattab)
      Schedule: Mi 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      The lecture on Advanced Data Visualization for Artificial Intelligence is a comprehensive exploration of state-of-the-art techniques and tools to create and validate complex visualizations for communicating data insights and stories, with a specific focus on applications in Natural Language Processing (NLP) and Explainable AI. The lecture will introduce participants to the nested model of visualization, which encompasses four layers: characterizing the task and data, abstracting into operations and data types, designing visual encoding and interaction techniques, and creating algorithms to execute techniques efficiently. This model will serve as a framework for designing and validating data visualizations.

      Furthermore, the lecture will delve into the application of data visualization in NLP, emphasizing the visualization of word embeddings and language models to aid in the exploration of semantic relationships between words and the interpretation of language model behavior. In the context of Explainable AI, the focus will be on using visualizations to explain model predictions and feature importance, thereby enhancing the interpretability of AI models. By leveraging the nested model of visualization and focusing on NLP and Explainable AI, the lecture aims to empower participants with the essential skills to design and validate advanced data visualizations tailored to these specific applications, ultimately enabling them to effectively communicate complex data patterns and gain deeper insights from their data.

    • 19302802 Practice seminar
      Practice seminar for Applied Biometrics (Andreas Wolf)
      Schedule: Mo 10:00-12:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)
    • 19325302 Practice seminar
      Practice seminar for Cluster Computing (Barry Linnert)
      Schedule: Do 10:00-12:00 (Class starts on: 2024-04-18)
      Location: T9/K 048 Rechnerpoolraum (Takustr. 9)
    • 19327402 Practice seminar
      Practice seminar for image- und video coding (Heiko Schwarz)
      Schedule: Mo 12:00-14:00 (Class starts on: 2024-04-15)
      Location: T9/055 Seminarraum (Takustr. 9)
    • 19330602 Practice seminar
      Practice Seminar on Human Computer Interaction I (Claudia Müller-Birn)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/049 Seminarraum (Takustr. 9)
    • 19331102 Practice seminar
      Practice Session on Human Centered Data Science (Claudia Müller-Birn)
      Schedule: Do 12:00-14:00 (Class starts on: 2024-04-18)
      Location: A3/Hs 001 Hörsaal (Arnimallee 3-5)
    • 19333702 Practice seminar
      Ethics and Epistemology of AI (Christoph Benzmüller)
      Schedule: Mi 14:00-16:00 (Class starts on: 2024-04-17)
      Location: Virtueller Raum 17
    • 19336902 Practice seminar
      Ü: Advanced Data Visualization for Artificial Intelligence (Georges Hattab)
      Schedule: Mi 14:00-16:00 (Class starts on: 2024-04-17)
      Location: T9/049 Seminarraum (Takustr. 9)
  • Special Aspects of Software Development

    0089cA1.30
    • 19335301 Lecture
      Cybersecurity and AI IV: Attacks (Gerhard Wunder)
      Schedule: Di 12:00-13:30, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      Cybersecurity and AI is a four semester lecture cycle covering all main aspects of Cybersecurity and AI. This course teaches the fundamentals of cybersecurity attacks related to AI. It is in principle possible to start the lecture cycle at any semester.

      The course outline is:

      1. Introduction: AI & cybersecurity, adversarial threat model, evaluation metrics, attack examples
      2. Robust AI: Definition and limits in deep learning, strengthening robustness, adversarial training, robust optimization methods
      3. Adversarial Machine Learning: Defense mechanisms, transferability across domains, real-world implications
      4. Generative AI: Generative models, deep fakes
      5. Federated ML: Security challenges, secure aggregation protocols

      Cybersecurity and AI ist ein viersemestriger Vorlesungszyklus, der alle wesentlichen Aspekte von Cybersecurity und KI abdeckt. Dieser Kurs vermittelt die Grundlagen für Angriffe auf- und mit KI. Grundsätzlich ist es möglich, den Vorlesungszyklus zu jedem Semester zu beginnen.

      Der Lehrplan ist:

      1.     Einführung: KI & Cybersicherheit, Bedrohungsmodell, Bewertungsmetriken, Beispiele für Angriffe
      2.     Robuste KI: Definition und Grenzen des Deep Learning, Stärkung von Robustheit, robuste Optimierungsmethoden
      3.     Adversarial ML: Verteidigungsmechanismen, Adversarial-Training, Übertragbarkeit, Real-World Implikationen
      4.     Generative KI: Generative Modelle, Deepfakes
      5.     Federated ML: Sicherheitsherausforderungen, sichere Aggregationsprotokolle

    • 19336901 Lecture
      Advanced Data Visualization for Artificial Intelligence (Georges Hattab)
      Schedule: Mi 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      The lecture on Advanced Data Visualization for Artificial Intelligence is a comprehensive exploration of state-of-the-art techniques and tools to create and validate complex visualizations for communicating data insights and stories, with a specific focus on applications in Natural Language Processing (NLP) and Explainable AI. The lecture will introduce participants to the nested model of visualization, which encompasses four layers: characterizing the task and data, abstracting into operations and data types, designing visual encoding and interaction techniques, and creating algorithms to execute techniques efficiently. This model will serve as a framework for designing and validating data visualizations.

      Furthermore, the lecture will delve into the application of data visualization in NLP, emphasizing the visualization of word embeddings and language models to aid in the exploration of semantic relationships between words and the interpretation of language model behavior. In the context of Explainable AI, the focus will be on using visualizations to explain model predictions and feature importance, thereby enhancing the interpretability of AI models. By leveraging the nested model of visualization and focusing on NLP and Explainable AI, the lecture aims to empower participants with the essential skills to design and validate advanced data visualizations tailored to these specific applications, ultimately enabling them to effectively communicate complex data patterns and gain deeper insights from their data.

    • 19335302 Practice seminar
      Practice seminar for Cybersecurity and AI IV (Gerhard Wunder)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)
    • 19336902 Practice seminar
      Ü: Advanced Data Visualization for Artificial Intelligence (Georges Hattab)
      Schedule: Mi 14:00-16:00 (Class starts on: 2024-04-17)
      Location: T9/049 Seminarraum (Takustr. 9)
  • Artificial Intelligence

    0089cA1.9
    • 19303701 Lecture
      Artificial Intelligence (Grégoire Montavon)
      Schedule: Di 16:00-18:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/Gr. Hörsaal (Takustr. 9)

      Additional information / Pre-requisites

      Prerequisites:

      Basic knowledge in Mathematics and Algorithms & Datastructures.

      Comments

      Short description:

      The course is an introduction to the area of Artificial Intelligence and will introduce the basic ideas and techniques underlying the design of intelligent machines. By the end of this course, you will have learned how to build autonomous (software) agents that efficiently make decisions in fully informed, partially observable and adversarial settings as well as how to optimize actions in uncertain sequential decision making environments to maximize expected reward.

      Syllabus:

      • Informed search
      • Uninformed search
      • Adversarial search
      • Local search and Optimization
      • Constraint Satisfaction Problems
      • Markov Decision Processes
      • Reinforcement Learning

      Suggested reading

    • 19303702 Practice seminar
      Practice seminar for Artificial intelligence (Grégoire Montavon)
      Schedule: Di 12:00-14:00 (Class starts on: 2024-04-16)
      Location: T9/Gr. Hörsaal (Takustr. 9)
  • Software Project: Theoretical Computer Science A

    0089cA2.10
    • 19308312 Project Seminar
      Implementation Project: Applications of Algorithms (Mahmoud Elashmawi)
      Schedule: Di 14:00-16:00 (Class starts on: 2024-04-16)
      Location: T9/SR 006 Seminarraum (Takustr. 9)

      Comments

      Contents

      We choose a typical application area of algorithms, usually for geometric problems, and develop software solutions for it, e.g., computer graphics (representation of objects in a computer, projections, hidden edge and surface removal, lighting, raytracing), computer vision (image processing, filtering, projections, camera calibration, stereo-vision) or pattern recognition (classification, searching).

      Prerequsitions

      Basic knowledge in design and anaylsis of algorithms.

      Suggested reading

      je nach Anwendungsgebiet

  • Current Research Topics in Theoretical Computer Science

    0089cA2.3
    • 19238501 Lecture
      Kernel Methods and Applications (Feliks Nüske)
      Schedule: Do 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-18)
      Location: A6/SR 032 Seminarraum (Arnimallee 6)

      Additional information / Pre-requisites

      This lecture/lab course is suitable for Master students of Mathematics, Computer Science or Computational Sciences.
       

        

      Comments

      Reproducing kernels provide a powerful modelling and approximation framework, which have been widely applied to problems in science and technology. Rooted in functional analysis and approximation theory, kernels lead to a theoretical framework of surprising mathematical elegance on one hand, and to simple and robust algorithms on the other hand. In this course, we will learn about both theory and applications of kernel methods. Practical coding exercises will accompany the course.
       

      Theoretical Concepts
      - concepts from functional analysis
      - introduction to reproducing kernel Hilbert spaces; fundamental properties
      - examples
      - Mercer integral operator and feature representation
      - density and regularity properties of reproducing kernel Hilbert spaces; relation to Fourier transform
      - error analysis and statistical learning theory
       

      Applications
      - support vector machine
      - kernel PCA
      - canonical correlation analysis and analysis of dynamical systems
      - solution of partial differential equations

    • 19322701 Lecture
      Cryptoanalysis of Asymmetrical Schemes (Marian Margraf)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: A6/SR 032 Seminarraum (Arnimallee 6)

      Comments

      Cryptoanalysis of asymmetrical schemes

      The lecture deals with different asymmetrical cryptanalytics, in particular with the supposed hard problems of these processes. Some of the contents are

      • RSA and the problem of factorization
      • DSA and the discrete logarithm problem
      • Merkel-Hellman and the knapsack and grid problem
      • McEliece and the problem of decoding
      • Matsumoto-Imai and the multivariate Polynomial System

      Knowledge in the areas of IT security and cryptography is obligatory.

    • 19238502 Practice seminar
      Practice seminar for Kernel Methods and Applications (Feliks Nüske)
      Schedule: Do 12:00-14:00 (Class starts on: 2024-04-18)
      Location: 1.4.03 Seminarraum T2 (Arnimallee 14)
    • 19322702 Practice seminar
      Practice seminar for Cryptoanalysis of Asymmetrical Schemes (Marian Margraf)
      Schedule: Do 10:00-12:00 (Class starts on: 2024-04-18)
      Location: T9/SR 005 Übungsraum (Takustr. 9)
  • Selected Topics in Theoretical Computer Science

    0089cA2.5
    • 19315401 Lecture
      Randomized Algorithms (László Kozma)
      Schedule: Di 10:00-12:00, Do 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target Audience

      Masters students in Computer Science or Mathematics, advanced Bachelor students.

      Prerequisites

      "Advanced Algorithms" or a similar class

      Comments

      Randomized algorithms

      The word "random" often has negative connotations: if something is random, then it may be unpredictable, unprecise, noisy, erratic, difficult to understand. It is therefore surprising that randomness is of great help in algorithmic problem-solving. Algorithms that use randomness are often more efficient, easier to implement and easier to understand than their deterministic counterparts, and in some cases, the only efficient method we know for solving a problem is a randomized one. Randomness can also be viewed as a useful (and often limited) computational resource, similarly to time and space usage. Understanding the exact role that randomness plays in computation is one of the great scientific questions of our time.

      This course will survey various algorithmic techniques, covering different aspects of the use of randomness in computation. Possible topics include (but are not limited to): randomized binary search trees, hashing-based data structures, random sampling, random walks, linear-time minimum spanning trees, cuts in graphs, verifying matrix multiplication, predicting the future with the help of experts, geometric algorithms, randomized incremental construction, load balancing, pattern matching, the probabilistic method, Chernoff bounds, primality testing, isolation, online algorithms, ski-rental and paging, approximation and LP-rounding.

      (The course will be given in English.)

      Suggested reading

      Wird noch bekannt gegeben.

    • 19315402 Practice seminar
      Practice seminar for Advanced Topics in Algorithms (László Kozma)
      Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Advanced topics in Theoretical Computer Science

    0089cA2.6
    • 19315401 Lecture
      Randomized Algorithms (László Kozma)
      Schedule: Di 10:00-12:00, Do 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/053 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target Audience

      Masters students in Computer Science or Mathematics, advanced Bachelor students.

      Prerequisites

      "Advanced Algorithms" or a similar class

      Comments

      Randomized algorithms

      The word "random" often has negative connotations: if something is random, then it may be unpredictable, unprecise, noisy, erratic, difficult to understand. It is therefore surprising that randomness is of great help in algorithmic problem-solving. Algorithms that use randomness are often more efficient, easier to implement and easier to understand than their deterministic counterparts, and in some cases, the only efficient method we know for solving a problem is a randomized one. Randomness can also be viewed as a useful (and often limited) computational resource, similarly to time and space usage. Understanding the exact role that randomness plays in computation is one of the great scientific questions of our time.

      This course will survey various algorithmic techniques, covering different aspects of the use of randomness in computation. Possible topics include (but are not limited to): randomized binary search trees, hashing-based data structures, random sampling, random walks, linear-time minimum spanning trees, cuts in graphs, verifying matrix multiplication, predicting the future with the help of experts, geometric algorithms, randomized incremental construction, load balancing, pattern matching, the probabilistic method, Chernoff bounds, primality testing, isolation, online algorithms, ski-rental and paging, approximation and LP-rounding.

      (The course will be given in English.)

      Suggested reading

      Wird noch bekannt gegeben.

    • 19315402 Practice seminar
      Practice seminar for Advanced Topics in Algorithms (László Kozma)
      Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Special aspects of Theoretical Computer Science

    0089cA2.7
    • 19238501 Lecture
      Kernel Methods and Applications (Feliks Nüske)
      Schedule: Do 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-18)
      Location: A6/SR 032 Seminarraum (Arnimallee 6)

      Additional information / Pre-requisites

      This lecture/lab course is suitable for Master students of Mathematics, Computer Science or Computational Sciences.
       

        

      Comments

      Reproducing kernels provide a powerful modelling and approximation framework, which have been widely applied to problems in science and technology. Rooted in functional analysis and approximation theory, kernels lead to a theoretical framework of surprising mathematical elegance on one hand, and to simple and robust algorithms on the other hand. In this course, we will learn about both theory and applications of kernel methods. Practical coding exercises will accompany the course.
       

      Theoretical Concepts
      - concepts from functional analysis
      - introduction to reproducing kernel Hilbert spaces; fundamental properties
      - examples
      - Mercer integral operator and feature representation
      - density and regularity properties of reproducing kernel Hilbert spaces; relation to Fourier transform
      - error analysis and statistical learning theory
       

      Applications
      - support vector machine
      - kernel PCA
      - canonical correlation analysis and analysis of dynamical systems
      - solution of partial differential equations

    • 19322701 Lecture
      Cryptoanalysis of Asymmetrical Schemes (Marian Margraf)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: A6/SR 032 Seminarraum (Arnimallee 6)

      Comments

      Cryptoanalysis of asymmetrical schemes

      The lecture deals with different asymmetrical cryptanalytics, in particular with the supposed hard problems of these processes. Some of the contents are

      • RSA and the problem of factorization
      • DSA and the discrete logarithm problem
      • Merkel-Hellman and the knapsack and grid problem
      • McEliece and the problem of decoding
      • Matsumoto-Imai and the multivariate Polynomial System

      Knowledge in the areas of IT security and cryptography is obligatory.

    • 19335301 Lecture
      Cybersecurity and AI IV: Attacks (Gerhard Wunder)
      Schedule: Di 12:00-13:30, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      Cybersecurity and AI is a four semester lecture cycle covering all main aspects of Cybersecurity and AI. This course teaches the fundamentals of cybersecurity attacks related to AI. It is in principle possible to start the lecture cycle at any semester.

      The course outline is:

      1. Introduction: AI & cybersecurity, adversarial threat model, evaluation metrics, attack examples
      2. Robust AI: Definition and limits in deep learning, strengthening robustness, adversarial training, robust optimization methods
      3. Adversarial Machine Learning: Defense mechanisms, transferability across domains, real-world implications
      4. Generative AI: Generative models, deep fakes
      5. Federated ML: Security challenges, secure aggregation protocols

      Cybersecurity and AI ist ein viersemestriger Vorlesungszyklus, der alle wesentlichen Aspekte von Cybersecurity und KI abdeckt. Dieser Kurs vermittelt die Grundlagen für Angriffe auf- und mit KI. Grundsätzlich ist es möglich, den Vorlesungszyklus zu jedem Semester zu beginnen.

      Der Lehrplan ist:

      1.     Einführung: KI & Cybersicherheit, Bedrohungsmodell, Bewertungsmetriken, Beispiele für Angriffe
      2.     Robuste KI: Definition und Grenzen des Deep Learning, Stärkung von Robustheit, robuste Optimierungsmethoden
      3.     Adversarial ML: Verteidigungsmechanismen, Adversarial-Training, Übertragbarkeit, Real-World Implikationen
      4.     Generative KI: Generative Modelle, Deepfakes
      5.     Federated ML: Sicherheitsherausforderungen, sichere Aggregationsprotokolle

    • 19238502 Practice seminar
      Practice seminar for Kernel Methods and Applications (Feliks Nüske)
      Schedule: Do 12:00-14:00 (Class starts on: 2024-04-18)
      Location: 1.4.03 Seminarraum T2 (Arnimallee 14)
    • 19322702 Practice seminar
      Practice seminar for Cryptoanalysis of Asymmetrical Schemes (Marian Margraf)
      Schedule: Do 10:00-12:00 (Class starts on: 2024-04-18)
      Location: T9/SR 005 Übungsraum (Takustr. 9)
    • 19335302 Practice seminar
      Practice seminar for Cybersecurity and AI IV (Gerhard Wunder)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Current Research Topics in Computer Systems

    0089cA3.10
    • 19325301 Lecture
      Cluster Computing (Barry Linnert)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      • Computer Science Master students

      Requirements

      • Experience with computers and software as well as programing skills.

      Language

      • The course language is German (or English if requested).
      • The exam will be formulated in German, but answers may be given in English, too.

      Credits & Exams

      The criteria for gaining credits are

      • active participation in the tutorials: regular preparation of assignements & presentation of results in the tutorials
      • passing of the exam

      Website

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

       

      Comments

      Cluster computer are the prevailing type of high performance computers. They are built of custom off-the-shelf processor boards that are connected by a high speed interconnection network. Although usually locally integrated, they are conceptually distributed systems with local operating system images. Their enormous potential, however, can only be exploited, if program code and data are optimally distributed across the nodes. Cluster management mechanisms also need to be scalable to be employed in systems with thousands of nodes. The lecture course gives an overview of the architecture of cluster computers and the related management problems for which algorithmic solutions are presented.

      Suggested reading

      • Heiss, H.-U.: Prozessorzuteilung in Parallelrechnern, BI-Verlag, Mannheim, 1996
      • Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000
      • Pfister, G.: In Search of Clusters 2nd ed., Prentice Hall, 1998
      • Zomaya, A.: Parallel and distributed computing handbook, McGraw Gill, 1995
      • Buyya, R.: High Performance Cluster Computing, Vol. 1+2, Prentice Hall, 1999

    • 19327401 Lecture
      Image- and video coding (Heiko Schwarz)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This course introduces the most important concepts and algorithms that are used in modern image and video coding approaches. We will particularly focus on techniques that are found in current international video coding standards.

      In a short first part, we introduce the so-called raw data formats, which are used as input and output formats of image and video codecs. This part covers the following topics:

      • Colour spaces and their relation to human visual perception
      • Transfer functions (gamma encoding)
      • Why do we use the YCbCr format?

      The second part of the course deals with still image coding and includes the following topics:

      • The start: How does JPEG work?
      • Why do we use the Discrete Cosine Transform?
      • Efficient coding of transform coefficients
      • Prediction of image blocks
      • Adaptive block partitioning
      • How do we take decisions in an encoder?
      • Optimized quantization

      In the third part, we discuss approaches that make video coding much more efficient than coding all pictures using still image coding techniques:

      • Motion-compensated prediction
      • Coding of motion vectors
      • Algorithms for motion estimation
      • Sub-sample accurate motion vectors and interpolation filters
      • Usage of multiple reference pictures
      • What are B pictures and why do we use them?
      • Deblocking and deringing filters
      • Efficient temporal coding structures

      In the exercises, we will implement our own image codec (in a gradual manner). We may extend it to a simple video codec.

       

      Suggested reading

      • Bull, D. R., “Communicating Pictures: A Course in Image and Video Coding,” Elsevier, 2014.
      • Ohm, J.-R., “Multimedia Signal Coding and Transmission,” Springer, 2015.
      • Wien, M., “High Efficiency Video Coding — Coding Tools and Specifications,” Springer 2014.
      • Sze, V., Budagavi, M., and Sullivan, G. J. (eds.), “High Efficiency Video Coding (HEVC): Algorithm and Architectures,” Springer, 2014.
      • Wiegand, T. and Schwarz, H., "Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 4, no. 1–2, 2011.
      • Schwarz, H. and Wiegand, T., “Video Coding: Part II of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 10, no. 1–3, 2016.

    • 19335301 Lecture
      Cybersecurity and AI IV: Attacks (Gerhard Wunder)
      Schedule: Di 12:00-13:30, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      Cybersecurity and AI is a four semester lecture cycle covering all main aspects of Cybersecurity and AI. This course teaches the fundamentals of cybersecurity attacks related to AI. It is in principle possible to start the lecture cycle at any semester.

      The course outline is:

      1. Introduction: AI & cybersecurity, adversarial threat model, evaluation metrics, attack examples
      2. Robust AI: Definition and limits in deep learning, strengthening robustness, adversarial training, robust optimization methods
      3. Adversarial Machine Learning: Defense mechanisms, transferability across domains, real-world implications
      4. Generative AI: Generative models, deep fakes
      5. Federated ML: Security challenges, secure aggregation protocols

      Cybersecurity and AI ist ein viersemestriger Vorlesungszyklus, der alle wesentlichen Aspekte von Cybersecurity und KI abdeckt. Dieser Kurs vermittelt die Grundlagen für Angriffe auf- und mit KI. Grundsätzlich ist es möglich, den Vorlesungszyklus zu jedem Semester zu beginnen.

      Der Lehrplan ist:

      1.     Einführung: KI & Cybersicherheit, Bedrohungsmodell, Bewertungsmetriken, Beispiele für Angriffe
      2.     Robuste KI: Definition und Grenzen des Deep Learning, Stärkung von Robustheit, robuste Optimierungsmethoden
      3.     Adversarial ML: Verteidigungsmechanismen, Adversarial-Training, Übertragbarkeit, Real-World Implikationen
      4.     Generative KI: Generative Modelle, Deepfakes
      5.     Federated ML: Sicherheitsherausforderungen, sichere Aggregationsprotokolle

    • 19325302 Practice seminar
      Practice seminar for Cluster Computing (Barry Linnert)
      Schedule: Do 10:00-12:00 (Class starts on: 2024-04-18)
      Location: T9/K 048 Rechnerpoolraum (Takustr. 9)
    • 19327402 Practice seminar
      Practice seminar for image- und video coding (Heiko Schwarz)
      Schedule: Mo 12:00-14:00 (Class starts on: 2024-04-15)
      Location: T9/055 Seminarraum (Takustr. 9)
    • 19335302 Practice seminar
      Practice seminar for Cybersecurity and AI IV (Gerhard Wunder)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Special Aspects of Computer Systems

    0089cA3.11
    • 19325301 Lecture
      Cluster Computing (Barry Linnert)
      Schedule: Di 10:00-12:00 (Class starts on: 2024-04-16)
      Location: T9/051 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      • Computer Science Master students

      Requirements

      • Experience with computers and software as well as programing skills.

      Language

      • The course language is German (or English if requested).
      • The exam will be formulated in German, but answers may be given in English, too.

      Credits & Exams

      The criteria for gaining credits are

      • active participation in the tutorials: regular preparation of assignements & presentation of results in the tutorials
      • passing of the exam

      Website

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

       

      Comments

      Cluster computer are the prevailing type of high performance computers. They are built of custom off-the-shelf processor boards that are connected by a high speed interconnection network. Although usually locally integrated, they are conceptually distributed systems with local operating system images. Their enormous potential, however, can only be exploited, if program code and data are optimally distributed across the nodes. Cluster management mechanisms also need to be scalable to be employed in systems with thousands of nodes. The lecture course gives an overview of the architecture of cluster computers and the related management problems for which algorithmic solutions are presented.

      Suggested reading

      • Heiss, H.-U.: Prozessorzuteilung in Parallelrechnern, BI-Verlag, Mannheim, 1996
      • Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming, Addison-Wesley, 2000
      • Pfister, G.: In Search of Clusters 2nd ed., Prentice Hall, 1998
      • Zomaya, A.: Parallel and distributed computing handbook, McGraw Gill, 1995
      • Buyya, R.: High Performance Cluster Computing, Vol. 1+2, Prentice Hall, 1999

    • 19327401 Lecture
      Image- and video coding (Heiko Schwarz)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/051 Seminarraum (Takustr. 9)

      Comments

      This course introduces the most important concepts and algorithms that are used in modern image and video coding approaches. We will particularly focus on techniques that are found in current international video coding standards.

      In a short first part, we introduce the so-called raw data formats, which are used as input and output formats of image and video codecs. This part covers the following topics:

      • Colour spaces and their relation to human visual perception
      • Transfer functions (gamma encoding)
      • Why do we use the YCbCr format?

      The second part of the course deals with still image coding and includes the following topics:

      • The start: How does JPEG work?
      • Why do we use the Discrete Cosine Transform?
      • Efficient coding of transform coefficients
      • Prediction of image blocks
      • Adaptive block partitioning
      • How do we take decisions in an encoder?
      • Optimized quantization

      In the third part, we discuss approaches that make video coding much more efficient than coding all pictures using still image coding techniques:

      • Motion-compensated prediction
      • Coding of motion vectors
      • Algorithms for motion estimation
      • Sub-sample accurate motion vectors and interpolation filters
      • Usage of multiple reference pictures
      • What are B pictures and why do we use them?
      • Deblocking and deringing filters
      • Efficient temporal coding structures

      In the exercises, we will implement our own image codec (in a gradual manner). We may extend it to a simple video codec.

       

      Suggested reading

      • Bull, D. R., “Communicating Pictures: A Course in Image and Video Coding,” Elsevier, 2014.
      • Ohm, J.-R., “Multimedia Signal Coding and Transmission,” Springer, 2015.
      • Wien, M., “High Efficiency Video Coding — Coding Tools and Specifications,” Springer 2014.
      • Sze, V., Budagavi, M., and Sullivan, G. J. (eds.), “High Efficiency Video Coding (HEVC): Algorithm and Architectures,” Springer, 2014.
      • Wiegand, T. and Schwarz, H., "Source Coding: Part I of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 4, no. 1–2, 2011.
      • Schwarz, H. and Wiegand, T., “Video Coding: Part II of Fundamentals of Source and Video Coding,” Foundations and Trends in Signal Processing, Now Publishers, vol. 10, no. 1–3, 2016.

    • 19335301 Lecture
      Cybersecurity and AI IV: Attacks (Gerhard Wunder)
      Schedule: Di 12:00-13:30, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-16)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      Cybersecurity and AI is a four semester lecture cycle covering all main aspects of Cybersecurity and AI. This course teaches the fundamentals of cybersecurity attacks related to AI. It is in principle possible to start the lecture cycle at any semester.

      The course outline is:

      1. Introduction: AI & cybersecurity, adversarial threat model, evaluation metrics, attack examples
      2. Robust AI: Definition and limits in deep learning, strengthening robustness, adversarial training, robust optimization methods
      3. Adversarial Machine Learning: Defense mechanisms, transferability across domains, real-world implications
      4. Generative AI: Generative models, deep fakes
      5. Federated ML: Security challenges, secure aggregation protocols

      Cybersecurity and AI ist ein viersemestriger Vorlesungszyklus, der alle wesentlichen Aspekte von Cybersecurity und KI abdeckt. Dieser Kurs vermittelt die Grundlagen für Angriffe auf- und mit KI. Grundsätzlich ist es möglich, den Vorlesungszyklus zu jedem Semester zu beginnen.

      Der Lehrplan ist:

      1.     Einführung: KI & Cybersicherheit, Bedrohungsmodell, Bewertungsmetriken, Beispiele für Angriffe
      2.     Robuste KI: Definition und Grenzen des Deep Learning, Stärkung von Robustheit, robuste Optimierungsmethoden
      3.     Adversarial ML: Verteidigungsmechanismen, Adversarial-Training, Übertragbarkeit, Real-World Implikationen
      4.     Generative KI: Generative Modelle, Deepfakes
      5.     Federated ML: Sicherheitsherausforderungen, sichere Aggregationsprotokolle

    • 19325302 Practice seminar
      Practice seminar for Cluster Computing (Barry Linnert)
      Schedule: Do 10:00-12:00 (Class starts on: 2024-04-18)
      Location: T9/K 048 Rechnerpoolraum (Takustr. 9)
    • 19327402 Practice seminar
      Practice seminar for image- und video coding (Heiko Schwarz)
      Schedule: Mo 12:00-14:00 (Class starts on: 2024-04-15)
      Location: T9/055 Seminarraum (Takustr. 9)
    • 19335302 Practice seminar
      Practice seminar for Cybersecurity and AI IV (Gerhard Wunder)
      Schedule: Mo 14:00-16:00 (Class starts on: 2024-04-15)
      Location: T9/053 Seminarraum (Takustr. 9)
  • Mobile Communications

    0089cA3.3
    • 19303901 Lecture
      Mobile Communications (Jochen Schiller)
      Schedule: Mi 10:00-12:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-17)
      Location: T9/SR 005 Übungsraum (Takustr. 9)

      Comments

      The module Mobile Communications covers many topics of mobile and wireless communication systems - an area of Computer Science that shows tremendous growth rates and that influences more and more areas of our society.

      We put special emphasis on a system perspective throughout the whole module and give many references to real systems, international standards and up-to-date research results.

      Topics coverd are:

      • Basics of wireless transmission: frequencies, signals, antennas, signal propagation, multiplexing, modulation, spread spectrum, cellular systems;
      • Media access: SDMA, FDMA, TDMA, CDMA;
      • Wireless telecommunication systems: GSM, TETRA, UMTS, IMT-2000, LTE;
      • Wireless local area networks: infrastructure/ad-hoc, IEEE 802.11/15, Bluetooth;
      • Mobile networking: Mobile IP, ad-hoc networks;
      • Mobile transport layer: traditional TCP, adapted TCP versions, additional mechanisms;
      • Mobility support;
      • Outlook: 5th generation mobile networks

      Suggested reading

      Jochen Schiller, Mobilkommunikation, Addison-Wesley, 2.Auflage 2003

      Alle Unterlagen verfügbar unter http://www.mi.fu-berlin.de/inf/groups/ag-tech/teaching/resources/Mobile_Communications/course_Material/index.html

  • Software Project: Computer Systems A

    0089cA3.6
    • 19315312 Project Seminar
      Software Project: Distributed Systems (Justus Purat)
      Schedule: Di 12:00-14:00 (Class starts on: 2024-04-16)
      Location: T9/046 Seminarraum (Takustr. 9)

      Comments

      The software project Distributed Systems contains a range of topics from the research area of the working group: Dependable Distributed Systems. A project aims to work in a team on a task containing design, implementation and testing.

      The software project is assigned to various different modules. Please inform in advance if you are allowed to take the course in a module from your degree program.

      Topics this semester are:
      - (Further) development of an application in cooperation with the Charité Berlin
      - Intelligent cluster control
      - SmartContract development
      - Tangle - technologies as an alternative to blockchain for IoT

      Details will be discussed in the first meeting.
      The software project: distributed systems will be held in German or English, depending on the student requirements.

    • 19322512 Project Seminar
      Software Project: GPU Offloading and Compiler Optimization (Barry Linnert)
      Schedule: Mi 12:00-14:00, zusätzliche Termine siehe LV-Details (Class starts on: 2024-04-24)
      Location: T9/046 Seminarraum (Takustr. 9)

      Additional information / Pre-requisites

      Target group

      Bachelor and Master of Computer Science

      Homepage

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

      Lecturer & Contact Person

      Barry Linnert

      Comments

      Pony [1] is a programming language designed to be high performant.
      It makes use of the actor paradigm [2]:
      every sequential piece of code should be written as an actor
      but the actors themselves run concurrently and independent from
      each other.
      Concurrency on the level of tasks [3] (in this case a task is an actor)
      provides speed up by design.
      However, there are other forms of parallelism on other levels
      that could be exploited to make Pony even more performant.
      Parallelism on data level [4] can for example be found in a loop nest
      that executes many times on independent but equally structured data.

      Graphic processing units (GPUs) specialize in computing data-level
      parallel problems.[5]
      In a system where a GPU complements a CPU data-level parallel portions
      of code can be offloaded to the GPU.
      The GPU takes care of calculating the data-level parallel problem
      and uses its ressources to do this very fast.
      This way a speed up of the overall program can be achieved.

      In this software project we want to explore if GPU Offloading can be
      integrated in the Pony Programming language.
      In order to do that we take a look at the Pony compiler and experiment
      with it and rewrite parts of it.

      You can learn about the internal workings of a compiler
      and how GPUs can be leveraged to achieve the speed up of a program.
      Further, we will get to know more about
      the compiler infrastructure LLVM [6] that the Pony compiler is a frontend of.
      If you have never heard of LLVM before then maybe it is interesting for you to know
      that the Rust and Clang compiler are other frontends to LLVM.

      In its core this software project is a research project --
      possibly with the option to later publish the results of our experiments
      and contribute to the open source projects Pony and LLVM.

       

      Links:

      [1]: [Pony](https://www.ponylang.io/discover/#what-is-pony)
      [2]: [Actor Model](https://en.wikipedia.org/wiki/Actor_model)
      [3]: [Task-level parallelism](https://en.wikipedia.org/wiki/Task_parallelism)
      [4]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Page 528.
      [5]: David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware Software Interface [RISC-V Edition]. 2nd. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann, 2021. ISBN: 9780128203316. Appendix B.
      [6]: [LLVM](https://llvm.org/)

       

    • 19334412 Project Seminar
      SWP: Scenario Management in the Future Security Lab (Larissa Groth)
      Schedule: Di 12:00-14:00 (Class starts on: 2024-04-16)
      Location: T9/K 040 Multimediaraum (Takustr. 9)

      Comments

      The BeLIFE project, part of the working group Telematics & Computer Systems, focuses on improving knowledge transfer and communication in civil security research. A central component of the project is the Future Security Lab, located at the Einstein Center Digital Future (ECDF) in Mitte. The lab welcomes politicians from federal and state levels, as well as representatives from authorities and organizations with security responsibilities.

      Within the software project, students develop concepts to optimize and creatively enhance the existing technical infrastructure of the space. The goal is to increase the usability of the space for scientists and improve the user experience for visitors. To achieve this, the software project consists of several sub-areas, either arising from a specific problem to be solved or requiring creative approaches and ingenuity. Tasks include system administration, interface development, as well as light/sound installation and orchestration. Examples of challenges include the parallel startup of all computers in a network via WakeOn LAN from a web app or optimizing the existing web app for scenario presentation.

      The tasks are exclusively addressed in small groups (3-5 students). Collaboration and code availability are facilitated through the department's own GitLab or a public GitHub. Results should be well-documented, for example, through README files in Git and a well-structured wiki. Modularity and expandability of the developed code, along with thorough documentation, are crucial for the success of this software project!

      Regarding the process, this software project takes place throughout the semester. There are a few mandatory large group meetings with all participants. In addition, there are short weekly meetings where at least one group member reports on the current status. The first meeting (April 16, 2024) will be held in Berlin Mitte at the Future Security Lab, Wilhelmstr. 67, 10117 Berlin. During this session, already implemented solutions will be presented, and issues will be discussed. There are a total of three presentation dates: the presentation of an initial approach to problem-solving (May 7, 2024), a brief interim presentation (June 4, 2024), and the final presentation (July 16, 2024).

      Students also regularly have the opportunity to work in the Future Security Lab premises, familiarize themselves with the equipment, and conduct tests.

    • Functional Programming 0086cA1.1
    • Object-Oriented Programming for Students with Programming Skills 0086cA1.2
    • Object-Oriented Programming for Students with No Programming Skills 0086cA1.3
    • Impacts of Computer Science 0086cA3.1
    • Logic and Discrete Mathematics 0086cA5.1
    • Analysis for Computer Scientists 0086cA5.3
    • Fundamentals of Computer Systems 0086cB1.1
    • Research Lab 0086cB1.2
    • Introduction to Computer Science Didactics 0086cB1.3
    • Medical Image Processing 0089cA1.10
    • Model-driven Software Development 0089cA1.11
    • Pattern Recognition 0089cA1.12
    • Network-Based Information Systems 0089cA1.13
    • Computer Security 0089cA1.16
    • Semantic Business Process Management 0089cA1.17
    • Software Processes 0089cA1.18
    • Compiler Construction 0089cA1.19
    • Distributed Systems 0089cA1.20
    • XML Technology 0089cA1.21
    • Practices in Professional Software Development 0089cA1.22
    • Advanced Topics in Data Management 0089cA1.29
    • Computer Vision 0089cA1.3
    • Selected Topics in Applied Computer Science 0089cA1.31
    • Database Technology 0089cA1.4
    • Empirical Evaluation in Computer Science 0089cA1.5
    • Fundamentals of Software Testing 0089cA1.7
    • Advanced Algorithms 0089cA2.1
    • Model Checking 0089cA2.2
    • Computational Geometry 0089cA2.4
    • Cryptography and Security in Distributed Systems 0089cA2.8
    • Semantics of Programming Languages 0089cA2.9
    • Operating Systems 0089cA3.1
    • Selected Topics in Technical Computer Science 0089cA3.12
    • Microprocessor Lab 0089cA3.2
    • Robotics 0089cA3.4
    • Telematics 0089cA3.5