Daniela Novac

Dipl.-Inf. Daniela Novac

Computer Science Department
Programming Systems Group (Informatik 2)

Student contact hour

Prearrange an appointment by email.


  • Promote computer science as the basis for successful STEM studies along the entire education chain.

    (Third Party Funds Single)

    Term: 01.11.2019 - 31.10.2022
    Funding source: Bayerisches Staatsministerium für Wissenschaft und Kunst (StMWK) (seit 2018)
    URL: https://www.ddi.tf.fau.de/forschung/laufende-projekte/cs4mints-informatik-als-grundlage-eines-erfolgreichen-mint-studiums-entlan

    Progressive digitalization is changing not only the job market but also the educational landscape. With funding from the DigitalPakt Schule and in detail from the BAYERN DIGITAL II program, serious changes in computer science education are being driven forward, which entail new challenges at the various levels of education. 

    The CS4MINTS project addresses these challenges along with the educational levels and ties in with measures already launched as part of the MINTerAKTIV project, such as strengthening the encounter of increasing student heterogeneity in the introductory computer science course.

    For example, for promoting gifted students, the Frühstudium in computer science is actively promoted for girls, and the offer is explicitly expanded. A significant increase in the proportion of women in computer science is to be achieved in the long term through early action against gender-specific stereotypes regarding computer science and an expansion of the training program to include gender-sensitive computer science instruction in all types of schools.

    The expansion of the compulsory subject of computer science in all schools also creates a great need for suitable teaching concepts and a strengthening of teacher training. For this purpose, a regional network is to be established during the project period to provide university-developed and evaluated teaching ideas for strengthening STEM in the curricular and extra-curricular settings. 

    In 2020, we began the initial piloting of the design to automate feedback in the introductory programming exercises. For this purpose, the return values of the JUnit tests of students' solutions were analyzed, and possible sources of errors were investigated. The next step is to work out a way to infer programming errors or student misconceptions based on these return values. Finally, these efforts aim to provide the students with automatically generated, competence-oriented feedback available to them after the programming tasks have been submitted (or, if necessary, already during the development phase). The feedback should show where errors occurred in the program code and point out possible causes.

    Concerning handling heterogeneity, we have compared the Repetitorium Informatik (RIP) course content with the Bavarian curriculum of different school types in 2020. Subsequently, the content must be adapted so that first-year students from the most diverse educational backgrounds have equal opportunities to identify possible deficits through the Repetitorium and remedy them. Besides, a daily programming consultation hour was set up for the first time during the Repetitorium in the winter term 2020. Here, participants were able to ask questions and receive feedback on the assignments.

    For many students, the initial steps of learning to program is one of the major challenges at the beginning of their studies. In order to provide additional feedback to novice programmers, we have designed and piloted the Feedback+ project in 2021. Within the framework of Feedback+, students have the opportunity to document problems that occur during the processing of the exercises or during the setup/use of the programming environment. They can also receive additional feedback in individual consultation sessions (weekly). For this purpose, we have set up a StudOn environment in which problems can be systematically documented. An initial evaluation in the form of individual interviews with the participating students received consistently positive feedback and is motivation to continue the project.

  • Computer Science basics as an essential building block of modern STEM field curricula

    (Third Party Funds Single)

    Term: 01.10.2016 - 30.09.2019
    Funding source: Bayerisches Staatsministerium für Bildung und Kultus, Wissenschaft und Kunst (ab 10/2013)
    URL: https://www2.cs.fau.de/research/GIFzuMINTS/

    The increasing digitalization of all areas of science and life render competencies in the foundations of computer science essential for all tech students and more. For the success of their academic studies, often their courses, especially the introductory ones, are problematic hurdles that may lead to a dropout.
    For this reason, this project expands the support that students get while they are still at school, while transitioning from school to university, and during the introductory phase. To address the study orientation phase when future STEM students are still at school, we (a) use our regional and national contacts to provide support for seminars and we (b) offer advanced training for teachers as they act as multipliers when future students choose their degrees. To address the transition from school to university, we focus on the fact that freshmen show up with different previous knowledge. We offer revision courses to bring the students onto the same page, i.e., to make their knowledge more homogeneous. In the introductory phase, special intensification exercises and tutoring that take heterogeneity into account strive to lower the dropout rates.
    In 2018, one focus was to evaluate the effectiveness of our measures: the increased range of exercise groups, the more extensive support from the tutors, the correlation between exercise attendence and dropout rate, the effects of participation in the revision courses on the performance in the exercises and in the exam, etc.
    In order to attract and qualify teachers as multipliers, we expanded the range of advanced training courses for teachers: we demonstrated innovative approaches, examples and content for teaching so that the participants can pass on to their students what they have learned themselves.
    To quantitatively and qualitatively improve the W seminar papers written in computer science at school we compiled a 24-page brochure and sent it to schools in surrounding counties. This brochure supports teachers in the design and implementation of W seminars in IT by providing subject suggestions, tips, and a checklist for students.
    The GIFzuMINTS project ended in 2019 with a special highlight: On May 20, 2019, the Bavarian Minister of State for Science and Art, Bernd Sibler, and the deputy general manager of vbw bayme vbm, Dr. Christof Prechtl, visited us in a status meeting. Minister Bernd Sibler was impressed: "The concept of the FAU is perfectly tailored to the requirements of a degree in computer science. The young students are supported from the very beginning immediately after finishing school. That is exactly our concern, which we pursue with MINTerAKTIV: We want every student to receive the support she/he needs to successfully complete his/her academic studies."
    By the end of the project, the measures developed and implemented were thoroughly evaluated and established as permanent offers. The revision course on computer science was transformed into a continuous virtual offer for self-study and updated to the latest state of the art. The course for talented students that prepares them to participate in international programming competitions was expanded and set up as a formal module of the curriculum. In order to ensure that the measures sustain, we applied for subsequent funding, which has already been approved as CS4MINTS.

  • Software Watermarking

    (Own Funds)

    Software watermarking means hiding selected features in code, in order to identify it or prove its authenticity. This is useful for fighting software piracy, but also for checking the correct distribution of open-source software (like for instance projects under the GNU license). The previously proposed methods assume that the watermark can be introduced at the time of software development, and require the understanding and input of the author for the embedding process. The goal of our research is the development of a watermarking framework that automates this process by introducing the watermark during the compilation phase into newly developed or even into legacy code. As a first approach we studied a method that is based on symbolic execution and function synthesis.
    In 2018, two bachelor theses analyzed two methods of symbolic execution and function synthesis in order to determine the most appropriate one for our approach. In 2019, we investigated the idea to use concolic execution in the context of the LLVM compiler infrastructure in order to hide a watermark in an unused register. Using a modified register allocation, one register can be reserved for storing the watermark. In 2020, we extended the framework (now called LLWM) for automatically embedding software watermarks into source code (based on the LLVM compiler infrastructure) with further dynamic methods. The newly introduced methods rely on replacing/hiding jump targets and on call graph modifications. In 2021, we added other adapted, dynamic methods that have already been published, as well as a newly developed method to LLWM. The added methods are based, among other things, on the conversion of conditional constructs into semantically equivalent loops or on the integration of hash functions, that leave the functionality of the program unchanged but increase its resilience. Our newly developed method IR-Mark now not only specifically selects the functions in which the code generator avoids using a certain register. IR-Mark now adds some dynamic computation of fake values that makes use of this register to blurr what is going on. There is a publication on both LLWM and IR-Mark. In 2022, we added another adapted procedure to the LLWM framework. The method uses exception handling to hide the watermark.
  • International Collegiate Programming Contest at the FAU

    (Own Funds)

    Since 1977 the International Collegiate Programming Contest (ICPC) takes place every year. Teams of three students try to solve about 13 programming problems within five hours. What makes this task even harder, is that there is only one computer available per team. The problems demand for solid knowledge of algorithms from all areas of computer science and mathematics, e.g., graphs, combinatorics, strings, algebra, and geometry. To solve the problems, the teams need to find a correct and efficient algorithm and implement it.The ICPC consists of three rounds. First, each participating university hosts a local contest to find the up to three teams that are afterwards competing in one of the various regional contests. Germany lies in the catchment area of the Northwestern European Regional Contest (NWERC) with competing teams from Great Britain, Benelux, Scandinavia, etc. The winners of all regionals in the world (and some second place holders) advance to the world finals in spring of the following year (2023 in Sharm El Sheikh, Egypt).
    On January 29, 2022, after a one-year break, the Winter Contest took place again, this time organized by our colleagues from CPUlm, again in an online format. 59 teams from 12 colleges and universities took part, including 6 teams from Erlangen. The best FAU team finished 12th. On June 27th, the German Collegiate Programming Contest took place at several German universities and colleges, with 5 teams from Erlangen. The best team from Erlangen came fourth out of the 73 participating teams from all over Germany. The NWERC took place in Delft on November 27th. FAU was represented by 2 teams that finished 43rd and 60th out of 136 participating teams.The seminar "Hallo Welt! - Programmieren für Fortgeschrittene" did not take place in 2022.

Current courses

"Hallo Welt!" für Fortgeschrittene

Title: "Hallo Welt!" für Fortgeschrittene
Short text: HW

Organizational unit:

  • TechFak | Informatik | Master of Science
  • TechFak | Informatik | Austauschstudium Bachelor
  • Lehrstuhl für Informatik 2 (Programmiersysteme)
  • TechFak | Informatik | Bachelor of Science
  • TechFak | Informatik | Erweiterungsprüfung Gymnasien
  • TechFak | Informatik | Austauschstudium Master
  • TechFak | Medizintechnik | Master of Science
  • TechFak | Informatik | Lehramt Gymnasien
  • TechFak | Informatik | Austauschstudium Promotion

Course type: Hauptseminar

Module frequency: nur im Sommersemester

Semester hours per week: 3


Programmierwettbewerbe wie der International Collegiate Programming Contest (ICPC) der ACM bieten die Möglichkeit, die eigenen Programmier- und Teamfähigkeiten an einer Vielzahl algorithmischer Probleme aus ganz verschiedenen Gebieten wie Geometrie, Kombinatorik, String-Verarbeitung und Zahlentheorie zu testen. Dabei treten die Studenten in 3er-Teams an, haben aber nur einen Computer zur Verfügung. Oft ist die Teamstrategie entscheidend für den Erfolg der Gruppe.

In diesem Seminar werden wichtige Algorithmen zur Lösung von Problemen aus den verschiedenen Gebieten in wöchentlichen, studentischen Vorträgen vorgestellt und Standardverfahren eingeübt. Neben den Vorträgen werden zum Thema passende Aufgaben besprochen und diskutiert. Zusätzlich müssen eine gewisse Anzahl an Aufgaben in Einzelarbeit gelöst werden.

Das Seminar bereitet auf die Teilnahme am Programmierwettbewerb der Universität Erlangen-Nürnberg Ende des Sommersemesters vor. Es besteht Teilnahmepflicht für diesen Wettbewerb.

Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.

Empfohlene Literatur:

  • Skiena/Revilla, Programming Challenges. The Programming Contest Training Manual. Springer 2003.
  • Cormen/Leiserson/Rivest/Stein, Introduction to Algorithms. MIT Press 2001.


1. Parallelgruppe

Link to Campo

Semester hours per week: 3

Teaching language: German or English


  • Daniela Novac
  • Prof. Dr. Michael Philippsen
  • Paul Wild
Frequency Weekday From - To Cancellation date Start date - End date Exp. Att. Comment Lecturer(s) Room
Einzeltermin Tue 12:00 - 14:00 18.04.2023 - 18.04.2023 17
  • Daniela Novac
  • Paul Wild
wöchentlich Thu 10:00 - 12:00 18.05.2023
20.04.2023 - 20.07.2023 17
  • Daniela Novac
  • Paul Wild



  • , , :
    LLWM & IR-Mark: Integrating Software Watermarks into an LLVM-based Framework
    ACM SIGSAC Conference on Computer and Communications Security (CCS'21), Workshop on Offensive and Defensive Techniques in the Context of Man At The End (MATE) Attacks (Checkmate ’21) (Republic of Korea, 19.11.2021 - 19.11.2021)
    In: Checkmate '21: Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks, New York:
    DOI: 10.1145/3465413.3488576
    BibTeX: Download




Supervised theses

Sorted alphabetically in UnivIS