Welcome back to the Break Room Blog! We are pleased to share a guest post from our colleague Nick, the editor of LiveLiftCode.com. LiveLiftCode is a programming, fitness, and lifestyle website that emphasizes teaching the basics of programming and fitness to newcomers. Read on to see his post about supplementing student learning with computer programming.
From Nick: In my experience, there are a lot of misconceptions when it comes to programming and coding. First, there is an assumption that you have to be incredibly tech savvy (and maybe a tad dorky) to learn to code, and this isn’t true. Second, there is a stigma that programming is something that is only done by the brightest of the bright and that the average person cannot learn to be an effective coder. I can attest that this is also false, as I am not a genius by any stretch.
Much as the movie Ratatoullie opines that “Anyone can cook”, I believe that anyone can code. Furthermore, I think that everyone should code. Proponents of a K-12 coding requirement believe that coding is the new literacy, and basic coding skills will be crucial to the next generation’s employability. In 2015 the United States estimated over 500,000 tech positions were left on the table due to the lack of candidates’ programming ability.
Computer programming is the new student literacy. Click To Tweet
While a simple Google search can yield articles and reports detailing how coding improves employability skills, the argument can also be made that learning to code helps a student’s ability in all aspects of their education. In my experience there are two key areas that have a symbiotic relationship with programming: mathematics and logic/reasoning. How exactly does coding relate to each of these areas?
Discovering a Path: Programming and Mathematics Instruction
One of the biggest complaints I hear from fellow students in my programming courses is how heavy our degree program is on mathematics courses. Isn’t coding just about making video games or phone apps? Why do I need to learn four levels of Calculus and three levels of Algebra?
There are a lot of great reads out there that make the case for why math plays such a crucial role in programming, but this relationship is a two-way street. Programming, in essence, is problem solving. Yes there is a lot of data, typing, and some specialized knowledge, but at the end of the day, coding is just using a computer to solve problems. Much like middle school and high school mathematics, where students are expected to learn formulas and concepts and apply these ideas to different situations, coding is about the creation of these formulas as deemed necessary.
Children will find that coding provides them a chance to become critical mathematical thinkers. They aren’t handed a formula and told to plug in numbers. They are expected to sit down, map out what the problem is, and determine what steps are required to solve it. Programming gives children the opportunity to carve their own mathematical path through creation as opposed to emulation.
Coding develops critical thinking skills in students. Click To Tweet
Parents will find that coding includes a multitude of exercises and information that helps hone a student’s math skills. This could stem from something as simple as asking your student to write a program that takes in width and height and returns the area of a shape. In math, coding provides students a chance to discover their solution and understand how and why the solution is found. This develops a crucial learning skill applicable to math and many other academic areas.
Using Programming to Build Logic and Reasoning
As stated above, coding is all about problem solving, and problem solving inherently requires logic, reasoning, and critical thinking. Have you ever been to a grocery store and witnessed a problem with the checkout computer? Maybe a coupon won’t scan, or a particular item is ringing up incorrectly, but generally someone blames it on the computer. “The computer is having a glitch” or “The computer isn’t reading this right” are the typical phrases I hear.
These situations are particularly interesting because the first reaction is to blame the computer, to assume that it is doing something wrong. But how can that be? Does the computer think for itself and decide what it wants to do and when it wants to do it? It doesn’t. The computer abides by the rules set for it by the programmer. A much more suitable thing to say in these situations is “The programmer didn’t do something right”.
Programming is an education in patience and perseverance. I’ve spent countless hours reading thousands of lines of code only to find that I told the program to add something when I really meant for it to divide. While these obstacles can be daunting and down-right annoying, they provide great learning experiences for students. These instances show students that in programming, there are no outside factors that affect their program; they control what a program does or does not do. Students start to think critically and use logic and reasoning. The computer only knows what the student tells it; if something isn’t working correctly, then the student needs to review their input and figure out where adjustments need to occur.
Parents can also use programming as an exercise in critical thinking. Building upon the previous example, tell your student you want a program that accepts a width and height to display the area, and that if the width and height are the same, the program states that the shape must be a square. Challenge your student to understand that most problems in school and life aren’t black and white with absolute answers, there are often special cases and exceptions to rules. Watch as your student works through these concerns, applying the necessary logic to their programming to change rules and circumstances.
If there was one skill that I wish I had more experience with in my K-12 education, it would have been applying logic to solve problems. As students, we are often handed formulaic answers to every problem, and we forget that sometimes there won’t be a cut and dry formula handy. Sometimes we need to draw on various concepts and ideas to be able to work towards a solution. Coding provides these opportunities.
Getting Started with Programming
The fantastic thing about coding is that it is relatively easy to get started. A computer and an internet connection is enough to get the ball rolling on basic programming practice, as YouTube and Google have thousands of great resources for new coders. On my website, LiveLiftCode, I try to breakdown some of the barriers that often discourage new programmers and offer explanations in less complex terms. Programming is a skill that is becoming more and more necessary for the next generation of workers, but that doesn’t mean that students and parents can’t start reaping the benefits early.
ABOUT NICK: Nick is a programming student and has worked in the public education system for several years, working directly with students from various backgrounds. He is the lead editor of a fantastic site, LiveLiftCode, which provides programming, fitness, and lifestyle content and advice. Subscribe to his newsletter to stay updated!
Latest posts by JCB Diagnostics (see all)
- Millennials and The Teaching Profession: An Infrastructure Desperate for Innovation - February 11, 2017
- The Benefits of Teaching English in China - January 21, 2017
- Need Money for Your Classroom? Write a Grant! - January 14, 2017
- Why You Should Teach Students Outside of the Classroom - January 6, 2017
- How to Supplement Learning with Computer Programming - December 30, 2016