Our purpose in these 6 weeks will be to cover some of the topics in Java programming that are beyond the standard ones that should be well-known to most of you. We will especially look in to the way in which the structure of the Java platform itself provides security, and into features such as persistence that are now a very integral part of that platform. We will also go through an overview of the platform and its latest JDK1.1 implementation, and consider some of the many directions in which that platform is moving during the next few Java-years (about 6 months!).
You should notice at first that I am not talking about Java as a language, but as a platform. This is because from the beginning it was intended that all aspects of the use of Java programs be taken in to account, and the language was developed with very specific ideas in mind of how its programs would be designed, compiled, transported, installed, and run, and a truly distributed architecture was considered from the beginning.
We look architecturally at organizing our Java code into packages, which fit more generally into a system of isolated namespaces that are an integral part of the security of the platform. Every Java compiler knows about these namespaces, and they are reflected in the way Java code is stored in and transported to systems. There is a system of access permissions to methods and variables that relates closely to these namespaces.
There is a very good tutorial which we will be referring to on occasion, and it is also useful for your reference on details of Java that we do not cover in class. There are a number of other reference materials that you can peruse as we get to the topics involved.
There are a number of issues regarding the need for cross-platform transportability of code, that we will also be considering during the course.
Day by day notes are being provided, and there is also a set by our Teaching Assistant, Jie Chen.