Before reading the articles I was very set in my thoughts that everyone should learn to code at an early age. This belief stemmed from the fact that I felt I had been at a disadvantage from my peers because I never really felt that coding was “accessible” to me before coming to college. Like many of my peers, my first experience with coding and the concepts behind building a program began freshmen year working with MATLAB. Like many of the articles pointed out, numerous public education systems rarely have computer science offered in their curriculum and the stigma associated with enrolling in this type of class can discourage many minorities from joining them.
The one programming elective I did decide to take in high school did not spark my interest in programming at all and it actually deterred me from pursuing that path. The class was set up by downloading an IDE then following along in a book finishing one programming assignment after the other. I’m not even sure what language we learned (indicative of how memorable that class was).
Reading the articles and reflecting on that experience, I did realize how difficult it would be to teach coding universally in the same way the three R’s are taught. My view is still that coding should be mandatory and taught at an earlier age than college but I do see the hesitation in just diving right in and trying to “go for it” before teachers or schools are ready to introduce this curriculum. It sounds like programs are being developed (the tools created by MIT) to teach logic and computer literacy. The computational thinking is what I think the classes should focus on opposed to an actual language. I think most programmers would agree that one of the most valuable skills they possess is their adaptability and the process of breaking down a system into parts and simply following the instructions and syntax for a certain language to apply to that problem. And as one of the articles mentioned, the most important part is solving the problem not necessarily knowing how to code it.
It seems like the process to teach someone how to teach a coding class has not been thoroughly defined yet and especially the disparity that is being found between the people who can easily pick up coding and those who “just don’t have it” I do think that computational thinking should be introduced to everyone. I was part of Prof. McMillan’s Low Vision Mentorship class and I experienced first hand what it was like to walk into a “computer science” class where the class was just thrown into the curriculum but the teachers were not given proper instruction on how to lead it. Trying to communicate these ideas behind computer science was difficult because of the breadth of information out there.
One of the articles pointed out that there’s a necessary distinction between consumers of technology and creators of technology. My ten year old cousin is a master of Minecraft and knows how to screen capture his video games and upload them to Youtube but that doesn’t mean he is destined for coding. I think a lot of times people associate using technology with being able to code and also vice versa. The number of times I’ve been asked to help work a projector or fix a speaker because “I’m a computer science major, shouldn’t I know how all technologies work”. The difference between these two are the logic in between which is why I think computational thinking should be taught more so than actual coding and programming languages.
If the Computer Science 4All Initiative moves forward, there needs to be a clear curriculum for schools and teachers to follow. I appreciate the push for these types of classes and making them mandatory makes it accessible for those who aren’t initially interested to try it out and also gives those who may be a little intimidated by this type a work an appreciation for it or a kickstart to a future career in it.