Let the boy do some mistakes and write garbage code first.start with c or c++. at-least you will learn in the beginning that you have to clean up your shit before getting used to garbage collection.
My suggestion of a book is
Clean Code: A Handbook of Agile Software Craftsmanship
By Robert C. Martin
You are welcome.