Head First Java & Head First Design Patterns