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.
Topics
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
- Short Intro to UML* class diagram (YouTube 2018)
- UML - stands fro Universal Modelling Language. It is a set of graphic tools that can be used to sketch OO programs. The classical reference is Martin Fowler's, UML 2.0 distilled, 2003. It is a short and nice and time-affordable reading.
- Naming Conventions (YouTube2018)
- The Structure of a Java Class and something about Javadoc (YouTube2018)
- Reading data from the console
- Storyboard of the classes
- Reading data from a File (no frills, no much design) (YouTube Live Video)
- Writing data to a File (no frills, no much design) (YouTube Live Video)
- Reading and writing data to a File. Designing the classes (YouTube Live Video)
- Reading and writing data to a File with Java 8. (YouTube Live Video)
- For getting more on Streams see the chapter 3 of Modern Java in Action (a book worth to buy).
- For Getting more on Lambdas, Chapter 6 to 9 of Modern Java in Action .
- Learning a little better what is a regular expression
- Reading and writing data to a File with Java 8 II and III (YouTube video)
- From command line
- from Eclipse (EGit)
-----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.
References
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).
I am wondering, why are you teaching Java in Particular ? In your opinion, what are the essentials for a Hydrologist ...
ReplyDeleteDear Anonymous,
DeleteI 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
This comment has been removed by the author.
ReplyDeleteI like the way you started the java exercise ( it's learning by solving the problems). Looking forwards for the next one ......
ReplyDelete