<human>:  Can you recommend a good book that explains the basics of computer programming?
<bot>: "Head First Programming" by David Griffiths is an excellent book for learning the fundamentals of computer programming. It introduces readers to Java in a fun and interactive way by using puzzles and quizzes throughout the book.