Lehramt an Integrierten Sekundarschulen und Gymnasien – Quereinstieg (ab WiSe 2019)
Fachwissenschaft und Fachdidaktik Informatik 2
0511b_m72-
Vertiefung Fachdidaktik Informatik im Profil Quereinstieg
0502bA1.2-
19323311
Seminar
Selected Topics of Computer Science Education (Ralf Romeike)
Schedule: Di 09:00-12:00 (Class starts on: 2024-04-16)
Location: KöLu24-26/SR 016 (vorrang Schülerlabor) (Königin-Luise-Str. 24 / 26)
Comments
Various key aspects will be offered, such as:
- particular problems of computer science teaching and learning according to the type of school (schulartbezogenes Lehren und Lernen von Informatik)
- particular experimental learning environments und experimental access to selected topics
- education for sustainable development (Bildung für Nachhaltige Entwicklung (BNE))
- design and analysis of tasks which are beneficial for learning
- differentiation and handling of heterogeneity
- computer science learning in out-of-school learning environments and in pupils' labs
- multidisciplinary teaching
- practical teaching experiences in complexity-reduced teaching-learning situations in the teaching-learning lab/pupils' lab
- gender and diversity in computer science classes
-
19323311
Seminar
-
F2 Computer Science: teaching in schools
0557aA1.3-
19314911
Seminar
"Schulpraktische Studien" in Teaching Computer Science: Introductory Seminar (Ralf Romeike)
Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
Location: KöLu24-26/SR 016 (vorrang Schülerlabor) (Königin-Luise-Str. 24 / 26)
Comments
Refer to German description. Courses of Computer Science Education are part of the German teacher-training and held in German only.
-
19314911
Seminar
-
Schulpraktische Studien im Unterrichtsfach Informatik - Fach 2
0557bA1.3-
19314911
Seminar
"Schulpraktische Studien" in Teaching Computer Science: Introductory Seminar (Ralf Romeike)
Schedule: Mi 10:00-12:00 (Class starts on: 2024-04-17)
Location: KöLu24-26/SR 016 (vorrang Schülerlabor) (Königin-Luise-Str. 24 / 26)
Comments
Refer to German description. Courses of Computer Science Education are part of the German teacher-training and held in German only.
-
19314911
Seminar
-
Image Processing
0089cA1.1-
19303001
Lecture
Image processing (Daniel Göhring)
Schedule: Di 12:00-14:00 (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)
-
19303001
Lecture
-
Computer Graphics
0089cA1.2-
19303201
Lecture
Computer graphics (Marco Block-Berlitz)
Schedule: Fr 10:00-14:00 (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, 2021Ergä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
http://www.vividus-verlag.de/beleuchtung_und_rendering
Java, LWJGL, OpenGL und GLSL vorgestellt [1]. Diese Beispiele liegen als Programmpaket für die Bearbeitung
und Ausführung in Eclipse bereit: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
-
19303201
Lecture
-
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
- Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach (http://aima.cs.berkeley.edu/)
- Richard Sutton and Andrew Barto, Reinforcement Learning: An Introduction (https://mitpress.mit.edu/books/reinforcement-learning-second-edition)
-
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)
-
19303701
Lecture
-
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)
-
19301501
Lecture
-
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)
-
19301401
Lecture
-
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
- models of computation
-
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)
-
19301201
Lecture
-
Operating and Communication Systems
0087dA1.9-
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
-
19300701
Lecture
-
Software project A
0159cA1.1-
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
-
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.
-
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 IoTDetails 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/) -
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
-
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.
-
19308312
Project Seminar
-
Software project B
0159cA1.2-
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
-
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.
-
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 IoTDetails 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/) -
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
-
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.
-
19308312
Project Seminar
-
Algorithms, data structures and data abstraction A
0511bA3.13-
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: , HFB/A Hörsaal, HFB/C Hörsaal, Hs 1a Hörsaal, Hs 1b Hörsaal, Hs 2 Hörsaal
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)
-
19300101
Lecture
-
-
Grundlagen und Vertiefung Fachdidaktik Informatik im Profil Quereinstieg 0502bA1.1
-
Medical Image Processing 0089cA1.10
-
Model-driven Software Development 0089cA1.11
-
Network-Based Information Systems 0089cA1.13
-
Computer Security 0089cA1.16
-
Compiler Construction 0089cA1.19
-
XML Technology 0089cA1.21
-
Practices in Professional Software Development 0089cA1.22
-
Computer Vision 0089cA1.3
-
Database Technology 0089cA1.4
-
Fundamentals of Software Testing 0089cA1.7
-
Semantics of Programming Languages 0089cA2.9
-
Operating Systems 0089cA3.1
-
Robotics 0089cA3.4
-
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
-
Fundamentals of Computer Systems 0086cB1.1
-
Computer Architecture 0087dA1.8
-
Social Aspects of Computer Science 0159cA2.3
-