Text this: Modern Structured Programming: program logic, style, and testing