Introduction to Programming in Java An Interdisciplinary Approach