One can argue that applying a growth mindset to any skill or trade can help you improve in that domain. While this may be true, I’d argue that it’s hard to find a practice that pairs more seamlessly with programming than growth mindset. There is a hot debate in the education world about whether coding is the new literacy of the future. Because we’ve seen the adoption of coding curricula spread nationwide, we want to explore how growth mindset can tie into this practice.
This is Part 1 of a 2-part blog series about growth mindset and learning to code. In this series, we will explore how developing one skill can help develop the other. We will begin by exploring how having a growth mindset can help you become a better programmer.
How can having a growth mindset help you develop your coding skills?
By believing that you can improve your coding skills with effort and practice Having a growth mindset is associated with more mastery and learning oriented behaviors, which can be applied to developing programming skills. Growth-minded individuals may be more apt to practice more often, persevere in the face of difficulty, and accept critical feedback.
By practicing setting S.M.A.R.T. goals Setting Specific, Measurable, Achievable, Relevant, and Time-Bound goals helps you to approach learning to code with clarity, focus, and use of appropriate strategies (Rubin, 2002). Setting SMART goals helps break down large coding projects into manageable sub goals, which helps programmers plan and strategize how they will tackle coding projects in a timely manner.
By striving to improve within one’s Zone of Proximal Development (ZPD) Problem solving takes place within reach of one’s capabilities with some help or guidance (Vygotsky, 1978). As a programmer, you won’t be asked to tackle a problem completely outside of your repertoire. It is more likely that you will face coding challenges that ask you to learn and push a little beyond what you’ve already mastered. In time, the more experience you gain with this content, the more proficient you will be, and the more you can continue to push beyond your current level of understanding.
By focusing on the process Reflecting on the process of coding is critical for advancing coding skills. Iterating and refining code is a key component to programming. Focusing on what worked and what didn’t, and reevaluating your approach using strategies you’ve found to be effective is how you grow your coding skills.
By understanding that mistakes are essential to learning When you see mistakes as critical to learning, you won’t feel discouraged when you make a mistake. This outlook can give you an advantage since mistakes are a large part of programming. Can you imagine punishing yourself for every line of code that didn’t run properly? That would be detrimental to your self-esteem as well as elicit fear every time you wrote code. With programming, mistakes are unavoidable and are actually part of the learning process: test a line of code, iterate, test again, and repeat until it properly executes.
By seeking out challenges Those with a growth mindset are less likely to avoid a challenge; instead, they take challenges head on. Problem solving and systematic thinking are at the core of programming. The practice of coding is inherently challenge-seeking. Without a challenge, there is no work to be done. Being comfortable with facing challenges will benefit programmers at all levels of experience and prevent them from becoming discouraged when facing obstacles. Seeking out challenges can motivate programmers to expand their skill sets and build their resilience.
By not being afraid to seek help From the perspective of a growth mindset, seeking help is a sign of strength, not weakness. Those with a growth mindset are not afraid to ask questions or seek information or constructive feedback from others. You don’t code in a vacuum! Taking the opportunity to learn from other programmers by engaging in discussion, comparing code, or utilizing open source can expedite the learning process. It can be the difference between being able to develop a project in one month versus one week. There is a large programming community out there; be an active part of it!
Be sure to tune into part 2 of this series that explores how developing your programming skills can help you develop your growth mindset. If you are interested in more information about how you can help cultivate your students’ growth mindsets, check out the Free Resources page on the Mindset Works website for some great tools and tips.