Problem Solving and Structured Programming in Modula-2