Modern Programming Made Easy - Adam L. Davis (Springer, 2016)