BIOINF4242 Advanced Java for Bioinformatics
| Name | BIOINF4242 - Advanced Java for bioinformatics |
| Lecturer | Prof. Daniel Huson, Dr. Anupam Gautam and Yimeng You. |
| Venue | Thursdays, 8:15-10h, location C215, Sand 14 |
| Tutorials | A) Mondays, 8:15-10h, C215, Sand 14 B) Mondays, 8:15-10h, TBA |
| Info | This course is intended for MSc students in bioinformatics and medical informatics. Students from other programs may be admitted if space permits. Grades will be based on the quality of the software project undertaken during the course. |
| Language | English |
| Links | Alma Ilias |
Contents
In this course, we will learn how to build a fully featured, fully functional bioinformatics application. This includes the fundamentals of application development, such as implementing menus, toolbars, undo/redo, copy and paste, and opening and saving files. We will also cover visualization and user interaction, including 3D graphics, animation, and meshes.
The course covers the following topics:
current releases of Java and JavaFX
programming with IntelliJ
version control with GitHub
design patterns such as MVP
concurrent programming in Java
GUI design, animation, and 3D graphics with JavaFX
RESTful web services, both client and server
using AI systems to generate code and embedding AI functionality into applications
deploying Java applications to mobile devices (iOS and Android)
All topics will be taught in the context of a bioinformatics software project.
Note
We will write a substantial amount of code, so a strong interest in programming is essential.
This is not an introductory Java course. You should already have some experience with Java before enrolling.
Assignments and tutorials
Weekly assignments will be handed out in class and posted on this webpage. In the second half of the course, you will work on a project, and the resulting code will form the basis of your grade.
We will set up GitHub Classroom for course work.
Instructions for submitting the first assignment will be discussed in the lecture on 16 April. Please enroll in the course via ILIAS.
Project
In the second part of the course, you will work on a bioinformatics software project. You will present your project on 4 August.
Schedule
The following time-table is only an outline and is subject to changes:
| Date | Topic | Assignments... |
| Apr 16 | 1. Introduction, scene graph | Assignment 1 |
| Apr 23 | 2. Events, controls and panes | Assignment 2 |
| April 30 | 3. FXML and SceneBuilder | Assignment 3 |
| May 7 | 4. Model-View-Presenter, 5. Shapes | Assignment 4 |
| May 21 | 6. 3D-Shapes, 7. Meshes | Assignment 5 |
| June 11 | 8. Properties, 9.Selection | Assignment 6 |
| June 18 | 10. Animation, 11. Undo-Redo | Project progress |
| June 25 | 12. Using web services, 13. Embedding AI API | Project progress |
| July 2 | 14. Concurrency, 15. CSS, 16. Charts | Project progress |
| July 9 | 17. Canvas 18. SQLite, 19. Web View | Project progress |
| Jul 16 | Presentation on usage of Java in industry (probably in June) | Project progress |
Aug 7 (To be confirmed) (8-12h or 10-12h) | Project presentations | Project due: Aug 6, 23:59 |