Algorithmen der Bioinformatik

BIOINF4399 Advanced Java for Bioinformatics

Title BIOINF4399 - Advanced Java for bioinformatics
Lecturers Prof. Daniel HusonDr. Benjamin Albrecht and Caner Bagci
Venue Thursday, 8:15-10:00, Hörsaal 1, Sand 6/7
Problem sessions Tutorial A: TBA
Tutorial B:  TBA
Info This course is intended for MSc students in bioinformatics and medical informatics.

Students in other programs will be admitted if space permits.
Grades will be based on the quality of a software project that you will undertake in this course and a final exam.
Language English
Links Ilias Campus


This course will cover the following topics:

- Java 8 and JavaFX 8

- Version control using GitHub

- Design patterns such as MVC

- Concurrent programming in Java

- GUI design, animation and 3D graphics using JavaFX

- Java web services

- Unit testing

All topics will be taught in the context of bioinformatics applications. 


We will write a lot of code, so a keen interest in programming is essential.

This is not an introduction to Java, you must already know Java to participate in this course.

Assignments and tutorials

Weekly assignments are handed out in class and are posted on this webpage. We will setup GitHub-classrooms to work with. 

We will discuss how to hand in your first assignment in the lecture on 18.4. Please enroll in the course using Ilias.

Tutorials will start in the week of April 25th.


In the second part of the course you will work on a bioinformatics software project. 

In the past, there was one topic for all students to work on. This time, we might try providing a number of different topics for people to work on.


The following time-table is only an outline and is subject to changes.

Date Topic Assignments...


1. Introduction

Assignment 1


2. Events and controls

Java test

Assignment 2


3. Drawing stuff in 2D

Assignment 3


4. Drawing stuff in 3D

Assignment 4


5.  Meshes

Assignment 5


6. FXML and CSS




7. Undo-redo

Discuss project with tutor


8. Concurrency

Discuss project with tutor


9. Animation

Project due


10. Web services

Assignment 6


11. Charts, web view and canvas



Final exam