algorithms and applications implemented in java