Software Engineering and Java Programming