The Book Before Printing by David Diringer You will find that this textbook includes a list of online resources for extra help.