Category Archives: Java Learning
PR1 Notes for Java
Unit
|
Title
|
Lectures
|
1 | Introduction |
2
|
2 | Elementary Programming |
2
|
Spirals
The simplest algorithm and you can get great looking graphics. More than that – you get graphics that are full of abstract, archetypical, almost mystical knowledge.
Let me explain myself… The algorithm is very simple. We loop to find the coordinates for a circle’s perimeter whilst varying the circle’s radius. As this change of the radius fluctuates it give rise to a million of shapes, all following a symmetry and morphing between each other.
OOA/OOD Related Links
The following links have been useful whilst trying to understand, research and teach Object-Oriented related topics. Going to conferences was a great way to meet people that were facing the same set of problems and discuss solutions. This eventually got me into being interested in Software Patterns, Aspect Orientation and Meta-level architectures.
UML
Unified Modelling Language (UML) allows us to describe and document elements of knowledge that map well into the object oriented paradigm.
MetaSystems
A metasystem is a system that describes how to create a system.
Aspect Orientation
Aspects help in improving the modularisation of a system by encapsulating cross cutting concerns such as distribution, exception handling, debugging, tracing/logging/auditing/timing/testing, design patterns, idioms, etc. The implementation of such concerns usually is spread through the classes and objects of a system. This makes code harder to understand and less maintainable/evolvable.
Frameworks
An OO framework can be seen as a component library encapsulating the implementation and design of a family of applications in a domain. Frameworks can be specific to a domain or generic.
Design Patterns
I’ve started realising the power of patterns in 96 after studying the excellent book “Design Patterns” by E.Gamma, J.Vlissides, R. Helm and R. Jhonson. Highly recommended!
Object Orientation
Although simple conceptually object orientation needs a serious amount of experience to be fully appreciated. It represents a major paradigm change from procedural programming. The following links can help you to get started.
Mobile Phone Software
I’ve created lately a small j2me application framework with its own windowing toolkit. It contains features that help me develop new j2me apps in lightning speed. I developed a dozen applications based on it. For examples, have a look at www.executableknowledge.com and www.gomoby.com.
Links for Java
Java’s dynamic features provides the means to experiment with a variety of software engineering ideas. If you are interested in Java’s guts read about Decompiling and Reverse Engineering Java. Visit aspectj.org for the latest news on aspects.