Introduction to programming and problem solving with java - slack (Thomson learning company)