|Title||BIOINF4399 - Advanced Java for bioinformatics|
|Venue||Thursday, 8:15-10:00, Hörsaal 2, Sand 6/7|
|Problem sessions||Tutorial A: Caner Bagci, Mondays, 12-14h, A301, Sand 14 |
Tutorial B: Benjamin Albrecht, Tuesdays, 12-14h, A104, Sand 14
Tutorial C: Klara Reichard, Wednesdays, C301, Sand 14
|Grading||Grades will be based on a project and a written exam.|
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 19.10. Please enroll in the course using Ilias.
Tutorials will start in the week of October 30th.
In the second part of the course (after the Christmas break) you will work on a software project. The goal will be to develop a 3D protein viewer.
The following time-table is only an outline and is subject to changes.
|19.10.||1. Introduction||See Ilias for assignments |
|26.10.||2. Events and Controls||Assignment 2|
|2.11.||3. Drawing stuff in 2D||Assignment 3|
|9.11.||4. Animation||Assignment 4 |
|16.11..||5. Design Patterns||Assignment 5|
|23.11.||6. 3D graphics: Perspective camera, 3D shapes, 3D transforms and mouse interaction||Assignment 6|
|30.11.||7. How to implement and use a selection model||Assignment 7|
|7.12.||8. Undo-redo||Assignment 8|
|14.12.||9. Java Webservices||Assignment 9|
|21.12.||10. FXML and CSS||Project starts|
|11.1.||11. Meshes||Discuss project with tutor|
|18.1.||12. Concurrent Programming |
Worker, Task, Service
|Discuss project with tutor|
|25.1.||13. Charts, WebView and Canvas||Discuss project with tutor|
|1.2.||Presentation of selected projects||Project due|
Makeup exam: April, 29th, 8:30-10:00, Hörsaal 2, Sand 6/7
The introduction to JavaFX will be based on these books:
- Anton Epple, JavaFX 8, Grundlagen und fortgeschrittene Techniken, dpunkt.verlag 2015
- Herbert Schildt, Introducing JavaFX 8 Programming, Oracle Press, 2015
- Kishori Sharan, Learn JavaFX 8, APress, 2015
How to get credit for this course
- Always participate in the weekly problem sessions and actively present your results. You must received at least 50% of possible points to take the exam.
- Assignments are set every Thursday and are due on at the beginning of the lecture on the following Thursday.
- Successfully implement the programming project requirements.
- Pass final exam.
The final exam will be a 30 minute oral exam or 90 minute written exam. The first half will cover concepts and constructs presented in the lectures and the second half will cover the structure and implementation of your software project.