The Effects of Self-Explanation and Reading Questions and Answers on Learning Computer Programming Language