C# programming from problem analysis to program design - Doyle, Barbara (Cengage Learning, 2016)