Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI

Fundamentals of Programming (Wintersemester 2018/2019)

Dozent: Prof. Dr. Holger Giese (Systemanalyse und Modellierung) , Thomas Brand (Systemanalyse und Modellierung)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 26.10.2018
  • Lehrform: Vorlesung / Projekt
  • Belegungsart: Pflichtmodul
  • Lehrsprache: Englisch

Studiengänge, Modulgruppen & Module

Digital Health MA


This lecture provides an introduction to programming and to working in software development projects. Programming is taught using the Java programming language.

The first part of the lecture introduces the students without prior experience to imperative programming. For participants with practical programming experience, this lecture part serves to solidify their knowledge and introduce the underlying concepts. Among the discussed topics are control structures, types, functions and object orientation as well as algorithms and data structures.

The lecture also introduces software development tools such as an integrated development environment and a version control system. Additionally it provides opportunities to try these tools in practice. Furthermore, methods like agile software development, which are used in profession software development projects, are discussed. In the second part of the lecture, the gained knowledge is applied and deepened through a small software development project that is conducted in groups.


Robert Sedgewick, Kevin Wayne. Computer Science: An Interdisciplinary Approach. Addison Wesley. 1. Edition, 2016. ISBN: 978-0134076423

Lern- und Lehrformen

Lecture with exercises and project in groups


The grade for this lecture is determined by a 90 minutes written exam at the end of the semester.

In order to be admitted to the exam, both the exercises and the project assignments need to be completed.


The lecture is accompanied by programming exercises that should be completed by teams of two students. These exercises are usually introduced during the Wednesday lectures, the results need to be handed in by the following Sunday (23:59 CET). The solution is discussed on Tuesday of the following week. Sufficient results for all but one exercises need to be handed in in order to be admitted to exam.

Project Assignments

In the second half of this semester, the participants participate in a software development project in groups. The project is steered through project assignments with milestones. All assignments must be completed sufficiently and all but one assignment must be completed sufficiently in time for exam admission.


The lecture takes part during the winter term 2018/19. Each week, there are two lectures:

  • Tuesday 15:15-16:45 in G3-E.15/16
  • Wednesday 15:15-16:45 in G3-E.15/16

Speical lectures, cancellations or postponements are announced via e-mail and published on this page:

  • The first lecture takes place on Tuesday 16.10.2018.
  • The exercises are introduced in the lecture on Wednesday 24.10.2018.

Additional tutorials

For students requiring additional support, an optional tutorial session may take place according to prior agreement in weeks where an exercise or a project assignment is due. The default date is Thusday at 17:00 in A-2.2. If a tutorial is needed, contact the course team by Thursday 12:00. In case a tutorial session must be cancelled or postponed, this is announced via e-mail and published on this page.

  • The first tutorial takes place on Friday 26.10.2018 from 13:30 in A-1.1
  • Tutorials at the usual Thursday place and time are already scheduled for 01.11. and 08.11.