Helping psychology students embrace computational thinkingAdam Steiner, Psychology, Minnesota State University-Mankato
Prior to graduate school, my experiences with programming were limited to a few problems in computational physics. Once I began graduate school in neuroscience, I chose to join a computationally intensive research group and underwent a trial by fire. However, once I began to grasp the utility, practicality and some might say, intuitiveness of programmatic thinking, I realized computational thinking was an indispensable skill for research and teaching. The methodical and logical thought processes that govern code creation are in some ways quite essential to scientific problem solving. In my view, programming and computational thinking are indispensable tools in Neuroscience and Psychology.
As a faculty at Minnesota State University, Mankato, I find that many students are somewhat terrified of programming and are convinced that they could never be capable computational thinking. In some ways, I understand this mentality – I too was terrified by programming (by MATLAB in particular) when I started graduate school. However, the ability of my adviser to make scientific insights inspired me to persevere. My goal when introducing students to MATLAB or related programs is to hopefully avoid the terror and instead show them the utility and fantastic ways to analyze, plot and turn data into meaningful, logic driven, results. To succeed students, must overcome their mental barriers regarding the difficulty of computational thought. Our psychology students at MNSU have very limited programming experience which only serves to reinforce any preconceived notions of difficulty. When I introduce my lab students to MATLAB, I now realize that I need to show them how them useful it is, breaking down the complicated analysis steps into something they can relate to.
Honestly discovering this approach was not trivial; I found it difficult to relate complex mathematical concepts to students with limited math and physics. Instead what served as a turning point for me, were my interactions with museum goers at the local children's museum during a university sponsored psychology program. While trying to explain electroencephalograms or in-brain recording electrodes I discovered that the best approach was finding the least common denominator, a common base of understanding. Finding analogies that were relatable proved to be the key piece. I now use that mentality when introducing any type of MATLAB or computational thinking to my lab students. I must find common ground. This often requires engaging with the students and understanding their strengths, weakness, and interests. Once this base is constructed, I begin to scaffold which makes the programming seem accessible and feasible to the students.
I have taken this one step further when introducing computational thinking. I have my students write down their process in pseudo-code first; what are you trying to accomplish, what are analogous problems you have worked on and how did you solve those? Even if they cannot program it, there is no reason not to be able to think about the problem step by step. This thought process is indispensable. Once they begin to step through the necessary components of task, I remind them that they are in fact using the scientific method and what they are doing is no different from what they have done before. After they realize the similarities, programming something doesn't seem as impossible. They can take these skills and apply them to any problem they encounter, breaking it down into programmatic thinking; what are the necessary steps, what goal am I working towards, what other functions (or tools) might I need to achieve my goal? In my view, this is the power of computational thinking, the ability to problem solve, logically, efficiently and apply those steps to any problem the real world might offer.