We Should Have Learned Programming in the 6th Grade
December 12, 2016
People occasionally tell me they absolutely will not take a computer science class because it’s on some intellectual plane above theirs. Any student with the proper experience in programming would correct this delusion immediately: the truth is that anybody can learn programming.
Yes, the claim sounds overly sentimental, as do similar phrases like “anybody can cook” or “anybody can sing” (I firmly disagree with the latter). However, I maintain that programming is an essential art that students should learn as early as in middle school.
The aspiring young historian might bemoan having to learn programming in the same way that the aspiring young programmer might wonder what he or she is doing in a history classroom. But history class teaches the young programmer how to think critically, to his or her benefit. Through programming, on the other hand, students (even those who don’t plan on becoming programmers) learn an analogous thought process that is more concerned with thinking algorithmically. This method of thought entails dividing a large problem into smaller ones – a process that professional programmers refer to as “modularization.” Modularization is effective because the programmer uses this method to divide a problem into simple tasks that are fairly easy to accomplish without any further insight. People that can modularize can essentially “invent” any algorithm by separating the problem into a sum of its most basic challenges.
Thinking algorithmically is just as powerful as thinking critically. For instance, competitive Rubik’s Cube solvers use various algorithms to solve the otherwise impossible puzzle. The cube has little to do with programming besides algorithms, but that’s the point of learning programming. It makes students think with a perspective that they can use to accomplish any and all complex tasks. Engineers benefit greatly from an algorithmic thought process: when designing something as complicated as a car, it’s best to think of the car in terms of its individual components (i.e. the engine or the brakes) that solve each small challenge. The combination of all those components is an algorithm to efficiently transform fuel into rotational energy. Of course, the hypothetical history student would probably never care about how cars work, but if he or she were to develop his or her problem-solving skills, they could reach a similarly advanced level.
If that sounds altogether unbelievable, consider this: programming enables students to solve such complex problems because a computer program is similar to (and can be just as complicated as) the car. To build the game Pong, for example, the programmer has to use the nuts and bolts of the programming language to build modules that continuously perform functions like measuring the position of the ball, deciding how to move the paddles, and deflecting the ball off of the side of the screen. Like the car, any dysfunction among these modules will break the machine, but a well-trained programmer quickly develops a theory about why the program broke, and repeatedly tests and adjusts the program until it works. These activities inspire abstract thought and perseverance in addition to problem-solving skill.
The advantages of learning programming amount to more than just a powerful way of thinking. In our computerized world, most firms need programmed resources like networks and software, especially in the field of engineering. In addition, people appear to realize its value as a cerebral challenge, giving the field its stigma of intelligence and genius. The class attracts students mainly for these reasons.
Sarah Richards ’17 explains, “I originally took computer science because it’s recommended by many colleges for prospective engineering majors. I think it helps me develop my logic and problem-solving skills, and I enjoy the work.”
People who have pursued programming and develop a passion for it attest that the results are even better than what students like Sarah expect. Mr. Galesi, Ridge High School’s computer science teacher, attests that “programming teaches you that there are many solutions to the same problem. Even if it doesn’t work 100 times in a row, that doesn’t mean there isn’t a solution. It teaches you to not get discouraged when things aren’t unfolding as you planned, and it teaches you to seek the point of view of others to get a different perspective. I know this skill got me through high school and college and continues to benefit me today.”
Critical thinking helps future adults make the right decisions for themselves, and thus occupies its position of importance in schools. Algorithmic thinking is just as important: it helps people plan ahead, and to devise a set of steps for accomplishing abstract tasks. Those goals that seem so far away for young students, like having a job and a family, become more defined in students’ minds if they are taught to think about exactly how to get from point A to point B. This, in addition to the high demand for programmers in the job market, is what makes programming as beneficial and thought-provoking a skill as reading. Therefore, schools should teach programming with as much care as reading, introducing the concept when students are very young and honing the skill throughout students’ high school careers.
Dylan Carson • Dec 20, 2016 at 2:37 pm
so true, I have learned how to code from my older brother and it has served very useful in today’s world with the technology of today growing in our lives and schools.
Rajvi Shah • Dec 20, 2016 at 2:07 pm
I enjoyed this piece. At my old school, we had programming lessons every once in a while. I think that should happen at every school!
Ruiyan Wang • Dec 20, 2016 at 1:32 pm
Interesting piece! I feel like there is a definite push for younger students to learn to code nowadays (as opposed to learning cursive, for example). I know ridge has a new STEAM program- does that teach participating students basic coding skills?
Amanda Wang • Dec 20, 2016 at 12:49 pm
I agree with how programming should be taught at an earlier age. After learning how to code last year, I am now more open minded to complex problems and know of different ways to approach them. Programming is the future, especially with the rise in technology in the last decade. With the rise in technology, we will need more future programmers to power our expanding society.
David Liu • Dec 20, 2016 at 12:48 pm
I definitely agree. Programming is so prevalent in today’s jobs and opportunities that it is absolutely crucial that we learn it. Technology is so much more common, and teaching it in 6th grade would only increase appreciation for it.
Raniya Mahdi • Dec 20, 2016 at 12:45 pm
This is a very interesting article and I also believe that children in earlier grades should be involved in computer programming because it allows the kids to challenge themselves.
Stanley Chou • Dec 20, 2016 at 12:00 pm
This article makes a great case on why programming should be taught at an early age, I personally think that programming would be a difficult thing for me to learn now, and I wonder how I would think about the subject if I had learned it in lets say the 6th grade
Samantha Scerbo • Dec 20, 2016 at 11:53 am
I found this article very interesting, and think that this issue is very important, and agree that programming should have been taught at a younger age.
Noa F & Julie M • Dec 20, 2016 at 11:25 am
I agree that learning programming skills would develop a new way of thinking. However, programming is not the only way to develop these skills, and students shouldn’t be obligated to learn these skills. However I ultimately agree that it is important and that it should be an option to take it in middle school
Aaron Peng • Dec 20, 2016 at 11:22 am
I remember taking computer science in 8th grade with Mr. Levy. It was my favorite elective of middle school. I wish I could have taken such classes earlier.
michael dong • Dec 20, 2016 at 11:16 am
I think it would be better to teach 6th graders the skills that coders utilize. Teach them logic and reasoning.
Ryhan moghe • Dec 20, 2016 at 11:13 am
Very interesting article, I also agree that there should be more programming done in earlier grades
Rohan Jinturkar • Dec 20, 2016 at 11:11 am
I agree that programming is an important life skill that teaches us how to solve complex problems in different ways. Nice article!