Programming Basics - Robert Ciesla (Springer, 2021)