The concepts of object oriented programming (OOP) will be introduced using physical system simulations as examples, e.g. interacting particles where each particle is an object and thread. We will discuss the advantages and disadvantages of Java compared to other OOP languages.
Java basics, i.e. syntax, will be developed over several lectures.
Using physics simulations demonstrations, we will develop more advanced Java techniques in graphics and multi-threading.
Finally, network programming with Java will be introduced and basic client and server routines developed to simulate the control and monitoring of an online experiment.