Advanced Programming and Problem Solving with PASCAL