Fundamentals of Pascal: Understanding Programming and Problem Solving