Essential computer science a programmer’s guide to foundational concepts - Crutcher, Paul D.; Singh, Neeraj Kumar; Tiegs, Peter (Apress, 2021)