Refactoring Improving the Design of exisiting code 2nd Edition
F# Succinctly
Open Data Structure In Java
Head First Java programming
The Art Of Computer Game Design