programming assignments for algorithms part II. skills: Java