Java for Hydrologists and Geoscientists (JfHG)
Course description
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.
- 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, Researchers in hydrology; Hydrologists, geoscientists, environmental engineers and researchers who want to develop scientific and geospatial models in Java.
- Lectures: Andrea Antonello, Giuseppe Formetta, and Riccardo Rigon
Course 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 (basic programming knowledge is beneficial)
Teaching approach
The course is designed to be highly practical and hands-on, including its theoretical components. Concepts are introduced through concrete examples and immediately applied in guided exercises, so that participants learn theory by directly implementing and experimenting with it in code. Short lectures are tightly integrated with practice, ensuring that every topic is reinforced through real-world hydrological and geospatial use cases. Participants spend the majority of the course actively developing, testing, and running Java and GEOframe modules.
