Abstract:
Computer programmers must be able to understand programming source code and write
programs that execute complex tasks to solve real-world problems. This article is a transdisciplinary
study at the intersection of computer programming, education and
psychology. It outlines the role of mental processes in the process of programming and
indicates how successful thinking processes can support computer science students in
writing correct and well-defined programs. A mixed methods approach was used to
better understand the thinking activities and programming processes of participating
students. Data collection involved both computer programs and students’ reflective
thinking processes recorded in their journals. This enabled analysis of psychological
dimensions of participants’ thinking processes and their problem-solving activities as they
considered a programming problem. Findings indicate that the cognitive, reflective and
psychological processes used by high-performing programmers contributed to their
success in solving a complex programming problem. Based on the thinking processes of
high performers, we propose a model of integrated thinking processes, which can support computer programming students.