Tuesday, July 16, 2013

Java for Hydrologists 101

There are a few postings on Java in this blog. Since I want to teach it to my students, I am quietly starting to populate this page with presentations which, eventually, will constitute the core of an informal class (;-)) the Java for Hydrologsts 101.
The focus of the JfH-101 is not simply to gain Java knowledge from the scratch (or so), but to address those topics and issues that have to do with my experience of hydrologist. So, I will try to cover Java as well as OMS3, and at the right time Geotools, and jgrasstools, not forgetting the tools of the tool (Ant, Maven, Git)^*, but in the meanwhile I will try to address the topics related to object oriented programming.  Programming is actually very much not talking about  that but doing it, so many of the slides will actually recall to actions.


0 - Getting Started (mostly things to read -or start to read- before the start) (YouTube 2018 video)
1 - Your first program (You Tube Video 2018)
2 - Solving a linear equation

3 -  A few diversions
4 - Reading  data from the system's console
5 - Reading data from a File

6 - Working with Git
-----Not yet implemented: ----

7 - Programming the heat diffusion equation
8 - Making the heat diffusion an OMS3 components
9 - Building Java projects with Ant, Maven and GRADLE
8 - GEOtools essentials
9 - Commenting the programming of the GEOframe-ET
10 - The Java REPL
11 - A little on Java Modules in Java 9
12 - Setting the continuous integration in GIT (using Travis)

The source code is available for download to from GitHub.


Please go to this blogpost.

^* - From the links you can quite understand the I rely very much on Lars Vogel site for the basic stuff. It is not obviously the only good resource available (stackoverflow is another one, for instance, and many others will be addressed).


  1. I am wondering, why are you teaching Java in Particular ? In your opinion, what are the essentials for a Hydrologist ...

    1. Dear Anonymous,

      I put the Essential for a Hydrologist in a new post, here: http://abouthydrology.blogspot.it/2013/07/essential-for-hydrologists.html

      Not sure that I answered to your question. However Java give me possibilities that Python does not, is Object Oriented, has a magnificent set of Open source Tools for developing, and it is not so slow as many claim. You can also look at: http://abouthydrology.blogspot.it/search/label/Java

  2. This comment has been removed by the author.

  3. I like the way you started the java exercise ( it's learning by solving the problems). Looking forwards for the next one ......