When learning computer programming, pre-knowledge is an essential factor influencing the learning process. This pre-knowledge includes both the knowledge of a specific programming language and the ability to think algorithmically. Both skills are needed to understand the concept of computer programming. The pre-knowledge of students and the post-course knowledge was investigated to see whether students' knowledge improved during the course. A questionnaire was used to compare the pre-course knowledge of students with the post-course knowledge. In addition, we examined the results of two groups of students: one with no prior understanding of computer programming and the other with some.