Computer programming provides a context for teaching computational thinking. For this reason, many countries integrated computer programming into the primary school curriculum. In order to teach computer programming to every student, it is necessary for teachers to have both content knowledge and pedagogical content knowledge of computer programming (Barr ve Stephenson, 2011). Pedagogical content knowledge is defined as knowledge about how content knowledge can be shaped and presented in a way that can be easily learned by students. The knowledge of how to organize, present, illustrate, explain or simulate a subject in order to facilitate learning of a subject is one of the biggest differences between novice and experienced teachers. The pedagogical content knowledge that teachers construct by combining the subject matter or content knowledge with pedagogical knowledge is one of the main types of knowledge that a teacher should possess (Shulman, 1986). The aim of this study is to explore the ICT teacher candidates' pedagogical content knowledge related to teaching computer programming. A qualitative study is designed for this aim. The participants of the study are ICT teacher candidates who already take the teaching practice course at Computer Education and Instructional Technologies department, and started teaching programming at elementary school level with the guidance of their mentor teachers. Teacher candidates were asked to fill out open-ended forms after their teaching session during the semester. Three forms were applied at different times and teaching different subjects of programming. In addition to open-ended forms data, focus group interviews were conducted with volunteer teacher candidates at the end of the semester. Data were analyzed through qualitative methods; open-ended form data provided subject matter-specific findings, while interview data provided general findings about pedagogical content knowledge of the teacher candidates. The main themes acquired through the analysis were preparation to class and teaching process, difficulties in teaching, and beliefs about programming teaching. Findings of the study may contribute to the research on teaching programming, and provide data to improve teacher education programs of computer education departments.