Friday, May 8, 2026

Java for Hydrologists and Geoscientists (JfHG)

This intensive course introduces Java programming with a strong focus on hydrological and geospatial applications. Participants will learn how to set up a professional Java development environment, manage projects with Maven and Git, and progressively build environmental models using the GEOframe ecosystem, HortonMachine, and GeoTools. By the end of the course, attendees will be able to design, implement, test, and run custom geospatial and environmental models in Java. Testing different modelling solutions is also presented.

  • Key Information

    • Duration: 64 hours (32 hours of instructor-led lectures + 32 hours of supervised student work)

    • Level: Introductory to Intermediate

    • Target Audience: PhD students, Post-Docs, and researchers in hydrology; Hydrologists, geoscientists, environmental engineers, and researchers who want to develop scientific and geospatial models in Java.

    • Lecturers: Andrea Antonello, Giuseppe Formetta, and Riccardo Rigon

    • Enrollment: Please contact lorena.galante@unitn.it or giuseppe.formetta@unitn.it. While there is no tuition fee, registration is mandatory. Participation is limited to 20 attendees.


    Learning Objectives

    By the end of the course, participants will be able to:

    • Set up and manage a Java development environment for scientific applications.

    • Understand and apply core Java programming concepts.

    • Read, process, and analyse environmental and geospatial datasets.

    • Use mathematical libraries in Java.

    • Perform basic raster and vector spatial operations.

    • Integrate HortonMachine modules within GEOframe projects.

    • Develop and run a custom GEOframe environmental model.

    • Test different modelling solutions and evaluate their effects on hydrological variables.


    Prerequisites

    • Basic familiarity with hydrology or geosciences.

    • Minimum experience using GIS software (e.g., QGIS), including basic handling of raster and vector data.

    • No prior Java programming experience required (though basic programming knowledge is beneficial).


    Course Content

    The course is organized into the following main modules:

    1. Development Environment Setup

    • Installation and configuration of the Java Development Kit (JDK)

    • Project management with Apache Maven

    • Version control with Git and GitHub

    • Integrated Development Environment (IDE) configuration

    2. Introduction to Java Programming

    • Basic syntax and control structures

    • Data types and data structures

    • Functions and exception handling

    • Input/output and parsing of environmental data

    • Debugging

    3. Numerical Computing and Mathematical Libraries

    • Basic mathematical operations

    • Utilization of external libraries

    • Numerical applications for environmental data

    4. Geospatial Data Analysis

    • Geographic data structures

    • Reading and writing raster and vector data

    • Coordinate Reference Systems (CRS)

    • Basic geospatial operations

    5. Integration with HortonMachine and GeoTools

    • Utilizing existing modules

    • Building analysis workflows

    • Hydrological applications

    6. Environmental Model Development

    • Designing Geoframe modules

    • Implementing a complete model

    • Execution and validation


    Teaching Approach

    The course is designed to be highly practical and hands-on, even during theoretical components. Concepts are introduced through concrete examples and immediately applied in guided exercises, ensuring participants learn theory by directly implementing and experimenting with code.

    Short lectures are tightly integrated with practice, focusing on real-world hydrological and geospatial use cases. Participants spend the majority of the course actively developing, testing, and running Java and GEOframe modules.