SoSe 24  
Centre for Teac...  
Fachwissenschaf...  
Course

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

  • 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.

  • 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.

  • 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)
  • 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, 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

  • 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)
  • 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)
  • 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

  • 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 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/)

       

    • 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.

       

  • 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 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/)

       

    • 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.

       

  • 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)
    • 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