Is Block-Based Programming "Real Programming"?

I’d like to start a discussion that might challenge you / your students’ perception of what qualifies as “real programming.” There is no right or wrong answer here and you define the term “real programming”. I’ve been conducting some research on student perceptions toward block-based programming. VEX VR and Scratch are block-based programming platforms. However, there appears to be a discrepancy in how students perceive these platforms as “real programming” or not.

Previous Research

From the previous research (Weintrop and Wilensky, 2015), students also identify drawbacks to blocks-based programming compared to the conventional text-based approach, including a perceived lack of authenticity and being less powerful. They got quotes from students’ interview like “Java is actual code, while Snap! is something nobody will let you code in.”

VEX VR

In a recent study I conducted, seven out of eight students interviewed believed that programming using VEX VR blocks qualified as “real programming.” Their reasoning? The ability to control a robot. Students seem to view the outcome—controlling a robot—as evidence of “real programming.”

Third Party Sensors as “Real Programming”

On the other hand, one student with prior experience in Arduino programming contested this view. According to him, “real programming” should allow for the integration of various libraries and third-party sensors, something he found lacking in block-based programming platforms. This brings up an important point: should the ability to integrate various external components be a qualifier for what is considered “real programming”?

Scratch

The scenario changes when we talk about Scratch. Students who had used Scratch before stated that it is not “real programming,” dismissing it as a tool designed for kids to create mini video games. However, they view the “VEX VR” blocks as real programming due to the fact of a robot.

Discussion

I am interested in your experiences with students. What do they perceive as “real programming”? Does the ability of controlling a VR Robot make VEX VR blocks a “real programming”? Do you think the answer of this question influence students’ motivation on if they want to learn more on the block-based programming?

4 Likes

This is a really interesting topic @Jimmy_Lin! I’m actually very encouraged by the fact that students are viewing block-based interfaces as ‘real’ programming, and I think the prevalence of block-based programming in recent years has probably influenced this perception for them.

The idea that the authenticity of programming is more related to what is being programmed and less to the means of coding is fascinating to me. It makes sense in some ways, as students in all subject areas perceive certain activities as being more ‘realistic’ than others, even from young ages. For instance, coloring coins on a worksheet in math class isn’t as ‘real’ as using money in a pretend store, or reading a graphic novel is not necessarily perceived as being as ‘grown up’ as reading a ‘famous’ novel. Are students learning important skills and concepts from all of these activities, of course - the medium matters less than the result - they are learning how to count money effectively, or how to read/develop an interest in reading. Nonetheless, the ‘real world’ connection is important to kids.

Similarly, I feel like the idea of being able to program even a virtual robot to do things that they know have real world applications, gives a weight to their work that can be a very powerful motivator! That motivation can open the door to different ways of teaching/learning - using the varied applications of the robot to encourage extra practice or scaffolding coding skills.

1 Like