Pātuhitia tēnei: Data structures and problem solving using Java