Algorithmen der Bioinformatik

BIOINF4399 Advanced Java for Bioinformatics

Title BIOINF4399 - Advanced Java for bioinformatics
Lecturers Prof. Daniel Huson, Caner Bagci, Anupam Gautam and Timo Lucas
Venue online, Thursday, 8:15-10:00, 
Problem sessions

Tutorial A: Wednesdays, 8:15-10:00
Tutorial B:  Thursdays, 10:15-12:00

Tutorial C: Wednesdays, 8:15-10:00

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.

Language English
Links Ilias ALMA

 

Contents

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 a bioinformatics project.

Note 

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. There might be a test at the beginning of the course to determine whether you have sufficient knowledge of Java to participate in the course.

Assignments and tutorials

Weekly assignments are handed out in class and are posted on this webpage. In the second half of the course, you will work on a project and the resulting code will be the basis of your grade.

We will setup GitHub-classrooms to work with. 

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

Tutorials will start in the week of 29.4.

Project

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.

Schedule

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

Date Topic Assignments...
22.04.2021 1. Introduction, scene graph Assignment 1
29.04.2021 2. Events and controls

Assignment 2

06.05.2021 3. FXML and SceneBuilder Assignment 3
13.05.2021 4. Model View-Presenter, 5. Properties and binding Assignment 4
20.05.2021 6. Shapes,  7. Mouse interaction Assignment 5
27.05.2021 8. Drawing in 3D, 9. Meshes Assignment 6
10.06.2021 10. Web client, 11. JSON

Start project

17.06.2021 12. Services and concurreny

Discuss project with tutor

24.06.2021 13. Animation Discuss project with tutor
01.07.2021 14. Undo-redo Discuss project with tutor
08.07.2021 15. Streams Project due
15.07.2021 16. Web server Project improvements
22.07.2021 17. Other topics Project improvements
29.07.2021 Project presentations