Introduction to Computer Science and Problem Solving