Welcome to the Setup Instructions for the Concurrency Specialist Course
The Concurrency Specialist Course is an advanced Java course
that amongst other things teaches concurrency and parallel
processing. It is thus important to have good hardware 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, 8GB RAM, 19" LCD Monitor
Minimum PC: Dual-core, 2 GHz, 2GB 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.
Our recommended operating system for the training is Windows
XP or Windows 7 or 8. We have found that Vista is too
disruptive and resource
intensive as a training platform. If the students are
familiar with it, a unix based operating system, such as
Linux, is preferred.
Please download the exercises for this course and make sure
to extract them to the desktop. Once this is done, the
desktop should contain a directory called "Concurrency". It
is important to extract them, otherwise students will have
issues when they try to change files. Click
here to download the exercises for the course
Please install the latest release of the JDK 8 (also called JDK
1.8). Click here to download JDK 8 (currently
1.8.0_111). Depending on your architecture, you need to
either choose a 32-bit or a 64-bit installation. You may also
use the latest Java 8 build if you prefer that. If your company
uses a shared network drive for the JDK, then please just map the
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
1.8.0_111 and it is installed on the C: drive, then
prepend the PATH environment variable with
C:\Program Files\Java\1.8.0_111\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.
Post-install Step 2: Please create shortcuts on
the Desktop to jconsole.exe and jvisualvm.exe, both
located in the JDK\bin directory.
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 2016.3-PublicPreview for Windows or go to the
Setting Up IntelliJ IDEA
Double-click on the downloaded IntelliJ IDEA install file,
for example ideaIC-2016.3-PublicPreview.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 2016.3-PublicPreview should now start up like this.
Click on "Open Project":
Now navigate to the Concurrency folder you created for the
exercises and select "Concurrency.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
If you see Windows Security Alerts, click on "Unblock":
Open the src folder in the project view, then go to the
Concurrency 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
Close and restart IntelliJ IDEA. Now select
"Build->Rebuild Project". The build should compile without
Select the Concurrency project and then the menu Code->Reformat Code.
The most important factors in a training room are: Air, Space, Silence and Light.
- 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.
- Space: We need enough space in between the chairs so that I can easily
get to all the students.
- Silence: Construction noises cause distraction, please make sure that
maintenance to the building is not done during class times.
- 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 126.96.36.199.
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
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
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
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
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 [at]
javaspecialists dot eu.