Algorithmen der Bioinformatik

BIOINF4242 Advanced Java for Bioinformatics

NameBIOINF4242 - Advanced Java for bioinformatics
LecturerProf. Daniel Huson, Dr. Anupam Gautam and Yimeng You.
VenueThursdays, 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.

LanguageEnglish
LinksAlma 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:

DateTopicAssignments...
Apr 161. Introduction, scene graphAssignment 1
Apr 232. Events, controls and panesAssignment 2
April 303. FXML and SceneBuilderAssignment 3
May 74. Model-View-Presenter, 5. ShapesAssignment 4
May 216. 3D-Shapes,  7. MeshesAssignment 5
June 118. Properties, 9.SelectionAssignment 6
June 1810. Animation, 11. Undo-RedoProject progress
June 2512. Using web services, 13. Embedding AI APIProject progress
July 214. Concurrency,  15. CSS, 16. ChartsProject progress 
July 9 17. Canvas 18. SQLite, 19. Web ViewProject progress
Jul 16Presentation on usage of Java in industry (probably in June)Project progress
   

Aug 7 (To be confirmed)

(8-12h or 10-12h)

Project presentationsProject due: Aug 6, 23:59