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 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 16 and JavaFX 16
- Version control using GitHub
- Design patterns such as MVP
- Concurrent programming in Java
- GUI design, animation and 3D graphics using JavaFX
-RESTful web services, client and server
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.
Project
In the second part of the course you will work on a bioinformatics software project.
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, 13. Animation | Discuss project with tutor |
24.06.2021 | 14. Selection model | Discuss project with tutor |
01.07.2021 | 15. Undo-redo | Discuss project with tutor |
08.07.2021 | 16. Charts, 17. CSS | Discuss project with tutor |
15.07.2021 | 18. Web server | Project due |
22.07.2021 | 19. WebView, Canvas and SQL | Project feedback with tutor |
29.07.2021 8:30-10:00 | Project presentations 1 | |
3.8.2021 8:30-10:00 | Project presentations 2 |