I used this book to teach myself Scheme. It used to be offered at MIT as 6.001 but unfortunately they removed it in favor of 6.01 Python. Scheme is very much the "Latin" of programming languages: it's not extremely useful but it teaches you how to approach programming and how to think about it. Highly encouraged.