Move Over Algebra: Coding Is The New Math
- April 19, 2016
- Posted by: admin
- Category: Technology
Coding is the new math
Coding is finally trendy.
The idea of learning to code is propagating down further and further into the educational system. This conversation is happening on ever corner of the globe. Here in Victoria, the provincial government unveiled plans in January that would introduce computer coding in its school curriculum, addressing a chronic skills shortage.
“Every kindergarten to grade 12 student will have the opportunity to learn the basics of coding,” Premier Christy Clark said at the Annual Tech Summit in Vancouver.
Even President Obama has pushed youth to study coding saying, “Don’t just play on your phone, program it.”
Clearly learning how to code has inherent economic value. Students gain the opportunity to become knowledge workers. Communities can reap significant benefit through higher salaries, exportable skills via outsourcing, and entrepreneurial development.
More than anything, coding has become an invaluable language that enhances both communication and problem solving skills in children.
Enhanced problem solving
Algorithms are programmatic solutions to problems. The traffic lights in your city follow algorithms to decide when to change. They take inputs like sensors to see if cars are arriving and timers for how long lights have been the current colour. An algorithm systematically determines if it is time to change or not. The lines at the DMV follow a First In First Out algorithm with category-based queueing and appointments as priority interrupts.
Try to think of an algorithm as problem solving over time. You solve a specific problem and then set up a system so that each subsequent problem that comes along is solved. Simply put, coding encourages people to solve tomorrow’s problems.
We communicate through interfaces
When it comes to programming, there are human interfaces like an iPhone app and there are data interfaces where one system sends data to another like Google Analytics. The first is called UI/UX for user interface and user experience. The second is called an API or application programming interface. But really, the underlying discipline here is good ol’-fashioned communications.
When you design a software interface, you have to imagine what the people looking at the screen will think. What are they trying to learn? What are they trying to do? What will they most likely want to do next? This is the modern day equivalent of walking around in someone else’s shoes. Once you understand your user, you can communicate with them on a much high level.
Sharing data via APIs is similarly about clear communications. For example, meet you after school becomes me.meet(on the soccer field, 3pm). The “meet” API is a method on “me” that takes two parameters: where and when. Pick up something for dinner becomes buy(salmon, lemon, broccoli). When you use an API, you need to know what method to call and what parameters or data you must include. You also must understand what result or information you get back. Programming APIs teaches people to think about all these items because at the software level your application simply won’t work if you get one of these elements wrong. It forces people to become better communicators.
With a renewed focus on technology in the educational sector, it’s exciting to think what the next generation of coders could accomplish.