Computer Programming Teaches Perseverance

What It Means


Computer Programming Teaches Perseverance

Computer programming is 95% logic. The computer has zero tolerance for unclear thinking, poor planning, and vague formulation of ideas. To solve a problem, the algorithm needs to be crystal clear, and the program accurate and flawless. The smallest glitch means a complete failure. Both the Karel and Python programming courses are self-paced, meaning that students need to solve the given task in order to proceed to the next level. Students are challenged. But with rewards and certificates waiting, they always want to go to the next level.

In this level students need to figure out the repeated sequence of operations “go”, “get” and “put” to move all gems on the marks and enter the home square. Most students need more than two attempts to solve the problem.


Computer programs hardly ever work the first time. Students learn quickly that trying harder without thinking does not help. They learn to go back, analyze where their thinking was wrong, and make adjustments. This teaches them critical thinking, systematic problem solving, and lots of perseverance.

Although NCLab courses are self-paced, the instructor still plays an important role, encouraging the students to trust in their abilities, to think, and to persevere solving problems.

3D Modeling Teaches Perseverance

Grace knows what she wants – a 3D print of a Chinese pagoda model. Building such a complex 3D model using just simple shapes and geometric operations takes lots of time, effort, and an extraordinary amount of perseverance. In the process of building their 3D models, students acquire an extensive knowledge of geometry and set operations – they are working with 3D point sets and Venn diagrams all the time – without even noticing. How could this be learning, when it is so much fun?