"Critical Thinking and Debugging Software"
Abstract:  This paper examines various difficulties that beginning programmers sometimes encounter when
attempting to debug software. Unfortunately, some beginning programmers make repetitive guesses in an
attempt to solve a problem. First, this paper examines how to break this cycle of guessing. Second,
although there are a number of definitions of critical thinking, this paper will examine one of the original
ones proposed by John Dewey. Next, it looks at how critical thinking can be employed when walking
through code to debug a logic error. Lastly, it offers some suggestions and provides some closing
thoughts. The audience for this paper is primarily instructors, teaching assistants, lab assistants, and
tutors, especially ones new to their roles, but it can be helpful to beginning programmers as well. For those
who may already possess debugging skills, it might help articulate what they have already been practicing.
by James T. Streib
The Journal of Computing Sciences in Colleges (JCSC)
Volume 31, Number 1, October 2015
ACM Digital Library