Discovering Computers - Fundamentals by Steven Freund & Shelly Gary Shelly