Moving Beyond Blocks
Over the past several years, there has been tremendous growth in access to computer science instruction. This is largely due to the great work by the Scratch team at MIT and organizations like Code.org. They have made learning computer science principles easy through simple, drag-and-drop, block-based coding. These entities have paved the way to grow interest in computer science for students early on.
As the Senior Product Manager of coding solutions at Learning.com, I often speak with educators on their teaching experiences. Recently I heard from several computer science teachers that shared thoughts with me about their student’s coding experience. I was told about how their students enrolled in an introductory computer science course that leveraged a block-based environment to teach basic computer science concepts so as to not get too bogged down in syntax.
Although the course thoroughly covered the required topics, as students progressed through the course, they began to ask when they would learn to do “real coding.” Despite learning solid concepts in computer science, these students did not perceive themselves as learning a “real” skill. They were not developing confidence in their computer science capabilities.
What is block-based coding?
Block-based coding is an introductory programming language that allows computer programs to be built by dragging and dropping blocks. The block-based coding approach has made it possible for students to start learning and experimenting with coding concepts before writing lines of code.
While block-based coding environments improve access to computer science education, some studies suggest that younger students who start out using block-based coding have a difficult time transitioning to text-based, real-world coding environments.
So is block-based coding valuable to students? I believe the answer is a resounding yes. Block-based environments help spark an initial interest in computer science and programming careers. They also can help students see the possibilities of computer science, and it can help them grasp core concepts early.
What should be done?
While an interest in coding is ignited with block-based coding, students should transition to text-based programming as soon as possible. By starting with languages with simpler syntax, such as CoffeeScript or Python, it can make it easy for students to learn text-based languages and develop their confidence in real-world coding languages. They can even be helpful as additional stepping stones to approaching more complex languages while building up confidence in real-world coding skills.
What seems clear is that the sooner students transition to text-based programming, the sooner they will gain confidence in both text-based languages and languages that are used outside the classroom. By equipping students to become capable coders, in the long run they’ll be more likely to succeed in the careers of today and tomorrow.
If you’d like to learn more about the coding solutions that Learning.com offers, you can learn more here.