-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
In the course Groovy Programming participants learn to program in the dynamic scripting language Groovy, which is also considered Java++. Groovy is a JVM language which means that Groovy scripts are interoperable with Java code and can therefore easily be used together with Java in the same application. Groovy is a natural extension to the Java syntax and offers, among other things, a simpler syntax for lists, ranges, maps and regular expressions.
The course starts with an introduction to the basic features of Groovy and covers dynamic typing and type inference in Groovy. It is discussed how Groovy differs from Java with much less boilerplate code and support for scripting.
Next the Groovy language syntax with variables, data types, conditionals, operators and loops is covered. Groovy data structures like lists, maps and sets are also treated and also how Groovy uses the Java Collection Framework.
Groovy methods, parameters passing and closures are also part of the course program. Groovy closures are anonymous code blocks that, as function objects with the scope in which they are created, are stored to be executed at a later time, with or without additional parameters.
And just like Java, Groovy is an object-oriented language and attention is paid to how you use classes, constructors, fields, interfaces and traits in Groovy.
File I/O is on the program of the course as well and in that context the commonly used data formats XML and JSON are treated and how Groovy deals with them.
Finally the course concludes with a discussion of meta programming in Groovy, which makes it possible to call methods dynamically and to create classes and methods on the fly.
The course Groovy Programming is intended for Java developers who want to learn programming using the scripting language Groovy.
To participate in this course knowledge of and experience with programming in Java is required.
The theory is discussed on the basis of presentation slides and is interspersed with exercises. Illustrative demos provide further clarification of the discussed concepts. The course material is in English.
Participants receive an official certificate Groovy Programming after successful completion of the course.
Module 1 : Groovy Intro |
Module 2 : Language Syntax |
Module 3 : Data Structures |
What is Groovy? Groovy Features HelloWorld in Java HelloWorld in Groovy Removing Noise Removing Boilerplate Dynamic Types Variable Interpolation POJOs on Steroids Script Support Differences with Java Running Groovy Scripts Groovy Development Kit |
Groovy Variables and Data Types Wrapper Types Number Methods Groovy Strings Groovy Conditionals Switch Statement Groovy Operators Other Operators Elvis Operator Range Operator Groovy Loops For in Loop Each Loop |
Groovy Lists List Methods List Manipulation Groovy Maps Map Methods Map Manipulation Java Collection Interface Concrete Collections List Interface ArrayList Class LinkedList Class Set and SortedSet Map Interface |
Module 4 : Methods and Closures |
Module 5 : File I/O |
Module 6 : Classes and Traits |
Groovy Methods Method Parameters Return Values Locals versus Globals What are Closures? Benefits of Closures Groovy Closures Closure Parameters Closure Variables Closures in Methods Closures and Collections Find and FindAll Any and Every Collect |
IO Basics Java Stream Classes Stream Types Nested Streams Groovy IO Reading Files Writing Text Data Conversion Streams DataStreams Java DataStreams Groovy Copy and Delete Directory Methods Traversing File Trees Executing External Processes |
Groovy Classes Normal Class Duck Typing Property Support Inner Classes Inner Class Usage Anonymous Inner Class Abstract Classes Interfaces Constructors Fields Comparator Traits Meaning of this |
Module 7 : XML and JSON Handling |
Module 8 : Meta Programming |
|
XML Processing Options DOM Tree SAX Callbacks XML Support in Groovy MarkupBuilder JSON Object Representation JSON Array Representation JSON with Array and Objects Groovy Json Classes Producing JSON from Map Produce JSON From Pogo JSON with JSONSlurper |
Groovy is Dynamic Dynamic Methods Adding Properties Meta Object Protocol Invoker Operation invokeMethod GroovyObject interface Groovy Interceptable Metaclass Intercepting Methods Expando GPath |
All our courses are classroom courses in which the students are guided through the material on the basis of an experienced trainer with in-depth material knowledge. Theory is always interspersed with exercises.
We also do custom classes and then adjust the course content to your wishes. On request we will also discuss your practical cases.
The course times are from 9.30 to 16.30. But we are flexible in this. Sometimes people have to bring children to the daycare and other times are more convenient for them. In good consultation we can then agree on different course times.
We take care of the computers on which the course can be held. The software required for the course has already been installed on these computers. You do not have to bring a laptop to participate in the course. If you prefer to work on your own laptop, you can take it with you if you wish. The required software is then installed at the start of the course.
Our courses are generally given with Open Source software such as Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda and Netbeans. You will receive the digital course material to take home after the course.
The course includes lunch that we use in a restaurant within walking distance of the course room.
The courses are planned at various places in the country. A course takes place at a location if at least 3 people register for that location. If there are registrations for different locations, the course will take place at our main location, Houten which is just below Utrecht. A course at our main location also takes place with 2 registrations and regularly with 1 registration. And we also do courses at the customer’s location if they appreciate that.
At the end of each course, participants are requested to evaluate the course in terms of course content, course material, trainer and location. The evaluation form can be found at https://www.klantenvertellen.nl/reviews/1039545/spiraltrain?lang=en. The evaluations of previous participants and previous courses can also be found there.
The intellectual property rights of the published course content, also referred to as an information sheet, belong to SpiralTrain. It is not allowed to publish the course information, the information sheet, in written or digital form without the explicit permission of SpiralTrain. The course content is to be understood as the description of the course content in sentences as well as the division of the course into modules and topics in the modules.