Contemporary Computing - Aluru, Srinivas (Springer Berlin Heidelberg, 2011)