Isn't this true for computer science too? Some of our students have the ability to write code, but they have no "coding comprehension". As I look at some of the drag and drop programs that so many are turning to as a means to incorporate more "coding" into the classroom, I wonder if we are at the same time building "coding comprehension". Are the students really understanding the code that they are writing? Can they explain it? Do they know how to alter it to make it do something new? Can they apply these structures to something new?
I'm currently helping some elementary teachers teach an after school club on coding. We have been using the code.org curriculum, and the students love it. It is excellent for the teachers as well, because they do not need a lot of experience in order to use the curriculum with their students. I believe this program has been a benefit to increasing awareness for computer science, and will definitely increase the number of students taking computer science courses when they arrive in high school.
As much as I feel this is a benefit, I am concerned that these drag and drop programs and self-guided learning may not be increasing students "coding comprehension". Looking at my own classes where I have students who take an introductory programming class, and then move on to AP, I can see the lack of comprehension from one year to the next. Students who created beautiful Alice projects, are unable to apply the concepts of loops, conditionals and arrays to Java when they get to our AP class. How can we utilize these drag and drop programs as introductory coding tools, and still build code comprehension? Without the comprehension, students are not understanding what they are writing, just like a student who has a low reading comprehension is not understanding what they are reading.