Discovering Computers, Fundamentals by Gary B. Shelly