Running on Java 22-ea+27-2262 (Preview)
Home of The JavaSpecialists' Newsletter

Welcome to the Setup Instructions for our "Reactive Programming" Course

The Reactive Programming is an advanced Java course. It is thus important to have relatively good machines for the students to work on. Having old computers degrades the quality of the training. For a good training experience, desktop computers with large monitors are typically better than laptops, but we can work with whatever is available.

Recommended PC: Quad-core, 3 GHz, 16GB RAM, 19" LCD Monitor

Minimum PC: Dual-core, 2 GHz, 8GB RAM, 17" LCD Monitor

Setting up the IDEs and installing all the software is rather time consuming, so ideally you should set it up once and then ghost the images to all the computers.

Operating System

Our recommended operating system for the training is Windows 10 or Mac OS X.

Exercises

We will provide a link to the exercises directly to students.

JDK

Please install the latest release of the OpenJDK. Click here to download JDK (currently 13.0.1). If your company uses a shared network drive for the JDK, then please just map the network drive.
  • Post-install Step 1: Please set the environment variable PATH to point to the JDK\bin directory in the installation home. For example, if the version of Java is 13.0.1 and it is installed on the C: drive, then prepend the PATH environment variable with C:\Program Files\Java\13.0.1\bin. If your company uses a shared network drive, please point the PATH environment variable to the correct bin directory. You can do that by going to "System Properties -> Advanced -> Environment Variables" and then modifying the PATH setting.

IntelliJ IDEA Community Edition

We use the community edition of IntelliJ IDEA as an IDE for this course. The installation should create a shortcut on the desktop. Click here to download IntelliJ 2019.3.1 for Windows or go to the IntelliJ download page.

Setting Up IntelliJ IDEA

Double-click on the downloaded IntelliJ IDEA install file, for example ideaIC-2019.3.1.exe. You might see a security warning - click "Run":

On the welcome page, click "Next":

On the "Choose Install Location" page, click "Next":

On the "Installation Option" page, make sure the two checkboxes are selected and click "Next":

On the "Choose Start Menu Folder" page, click "Next":

Wait for about 5 minutes whilst IntelliJ IDEA is being installed:

Select "Run IntelliJ IDEA Community Edition" and click Finish

Select "I do not have a previous version ..." and click OK

IntelliJ IDEA 2019.3.1 should now start up like this. Click on "Open Project":

Now navigate to the folder you created for the exercises and select the file ending with ".ipr". In our screenshot, we are selecting the project file for the Concurrency course. You should see something similar for your project.

Deselect "Show Tips on Startup" and click on "Close":

Select "File->Project Structure":

For "Project SDK", click on "New" and then JSDK:

Select the path where you installed the JDK, typically "C:\Program Files\Java\13.0.1":

If you see Windows Security Alerts, click on "Unblock":

Open the src folder in the project view, then go to the exercise folder and select one of the files ending with "Test" in one of the solution directories. Right click on it and select "Run". For example, here we are running the file "PersonTest":

Close and restart IntelliJ IDEA. Now select "Build->Rebuild Project". The build should compile without error.

Select the exercise project and then the menu Code->Reformat Code.

Room Layout

The most important factors in a training room are: Air, Space, Silence and Light.

  1. Air: Without oxygen, students will find it hard to concentrate on the lectures. We need a lot of fresh air at a comfortable temperature. Since "comfortable" is subjective, we need instructions on how to adjust it as needed. A lot of people suffer from hayfever, which is especially bad with carpeting. Training rooms are often overlooked during cleaning operations. Please ensure that the floor is vacuumed every evening or morning to reduce the amount of dust.
  2. Space: We need enough space in between the chairs so that I can easily get to all the students.
  3. Silence: Construction noises cause distraction, please make sure that maintenance to the building is not done during class times.
  4. Light: It must be possible to eliminate direct sunlight from the classroom via blinds.

Special Note for MVP via ExitCertified or Partners

When presenting the course via MVP (video conferencing equipment) it is essential that all the students are visible. The best way to do this is to arrange the computer desks in the middle of the room, with corridors next to the walls. A narrow corridor can be in the middle of the room. If we have more than two training locations, the room needs to be arranged even narrower. If you have any questions, please do a test call with us the week before the course.

Our IP address for the video conferencing is 212.205.36.10. However, our system is only turned on when we are actively using it. Please contact us on heinz [at] javaspecialists [dot] eu or our enquiry page if you would like to schedule a test call.

Also, when we do an MVP course, it is essential that you please email me the IP addresses of the machines, so that I can set up remote logins to watch the students do the exercises.

In addition, I need the email addresses and names of the students, so that I can set up a chat room for them to discuss the course.

It is very important that I get this information at least 5 days before the course starts, so that I can set up everything on my side.

Coffee and Refreshments

Please have good coffee and tea available for the students as well as other refreshments such as fruit juices, biscuits, soft drinks, fruit, etc. Students are paying a premium price for the course and they need to be treated well.

It is a good idea to have a class lunch for at least one of the days of the course. Pizza is popular, but the danger is that the combination of refined carbohydrates, melted cheese and protein makes everybody very sleepy for the afternoon session. Other ideas would be club sandwiches, made with wholewheat bread.

Names of Students

Please have printed signs available with the student's first name in large fonts that is easily readable from a distance.

Please also email me prior to the course, a spreadsheet containing the names, email addresses and employers for all the students registered for the course. This information will be used to issue attendance certificates for the Concurrency Specialist Course.

Thank you!

If you have gotten this far, then I want to thank you for setting up all the machines and the room. If you have any questions, please contact me via email on heinz@javaspecialists.eu.