Why I Want My Students to Code

Written by erikpmvermeulen | Published 2018/04/01
Tech Story Tags: education | technology | business | life | entrepreneurship

TLDRvia the TL;DR App

The Importance of Coding in Education

Coding is not only important for programmers and software developers. In a digital age, non-technologists also need to understand, study and experiment with coding.

Recently, I decided to introduce a “Coding for Lawyers” course in my Business Law Master’s program, convinced that “multi-disciplinary coding” can help us in solving many contemporary economic, environmental and social issues.

The “Coding for Lawyers” course raised a lot of curiosity and excitement amongst the students and other interested parties. But, there was also a certain amount of skepticism:

Is it really necessary to learn “how to code”?

What is the value-added for us (non-technologists) of understanding code?

Isn’t this all just a waste of time?

No doubt, there is something to these concerns.

For a start, we don’t need to have any understanding of code to successfully navigate the digital world_. Users of code don’t need to code themselves._

After all, we use technology all the time, without ever understanding it. I can drive my car perfectly well, without understanding much about automobile engines. Most users of the Internet don’t necessarily understand the ins and outs of TCP/IP protocols.

Moreover, coding isn’t easy. Acquiring competency takes a significant investment of time and effort.

And even if my students do feel the need to learn how to code, there are thousands of available resources (on- and off-line) out there that can teach them. It isn’t necessary to add “another coding course” to the curriculum.

How To Successfully Teach Yourself How To Code_After I published my previous article about how I became a 19-year-old software developer, hundreds of people came to…_medium.freecodecamp.org

And yet, despite all these misgivings, I strongly believe that my students will benefit from understanding the power of coding. Not only by reading or hearing about it, but by participating in and experimenting with coding projects in a classroom environment.

Here is why.

Code is Everywhere

To quote Marc Andreesson, “software is eating the world”.

We all now live in a world of “ubiquitous computing”. Computers are embedded in every aspect of our everyday lives. As a result, computer code now provides the unseen and unnoticed “architecture” structuring our whole existence: Work, recreation, communication, consumption, travel, or education/research.

All aspects of our lives are organized by and around code-based digital technologies.

Just think about how much of our time is spent interacting with devices that are, at some level, operating software code. Such interaction can be direct — interacting with a smart phone or computer, for instance — or more distant — traveling to work on a transport system that is automated, in various ways.

In all cases though, it is computer code that makes the experience possible and code that, ultimately, provides the structure and governs the choices associated with the environment and experience.

It’s only to be expected that with the rise of the Internet of Things (and the enhanced autonomy and connectivity of smart devices), the importance of software code is only set to increase.

Why Coding Matters

Of course, the fact that code is everywhere does not justify a separate coding course on a business law program. But, in a world which increasingly revolves around code, there are three additional reasons for introducing such a course:

#1 — Opportunities

You often hear that coding has become the most important job skill across industries.

The Skills It Takes To Get Hired At Google, Facebook, Amazon, And More_LinkedIn dove deep into its user data and produced a list of the top 40 U.S. companies for attracting and keeping…_www.fastcompany.com

This makes sense. Andreesson is obviously right: software is “eating the world” and will continue to do so. More and more businesses and industries revolve around code-based products or services. And all businesses are increasingly managed by and run on software code.

But there is more to it than that.

We all now live in a flatter, decentralized and automated world.

With software code automating procedures and tasks, the focus of “knowledge work” is shifting from the routine “application of procedures” to designing the procedures and standardized tasks that are then performed by machines.

However, our education system has been slow to adapt to this change. Most students are still being prepared for a hierarchical, centralized and “proceduralized” world.

This strikes me as wrong.

In the current and future labor market, a premium is and will be placed on a person’s capacity to design and communicate innovative solutions, rather than simply comply with pre-established procedures. And since these new solutions will be code-based, an understanding of code and coding will be essential to participate effectively in our digital world.

Teaching students the basics of “how to code” and inspiring them to get out of their comfort-zone, will be a necessary first step to help them embrace the many future opportunities of a “software-based” environment.

This billboard (at Fukuoka Airport in Japan) is just an example of how digital technology has the potential to shape the future.

#2 — Trust

In a 20th Century business environment, trust was created and maintained by rules, regulations and contracts. One way of thinking about the law is as a mechanism for stabilizing expectations and building trust when dealing with strangers. I may not know you or even like you, but the fact that we have a contract means that I can (to a certain extent) trust you.

Yet, in a digital world, trust can be embedded in software code. Recent interest in “smart contracts” shows that this is going to be a huge growth area in the near-future.

And building trust via software code is also crucial in machine-to-machine (M2M) based transactions. As M2M interaction becomes normal in an IoT environment, the issue of trust becomes a technical and design problem.

I want my students to think about software-based solutions to solving trust and reputation issues that are currently present in IoT and blockchain environments.

Moreover, software code is often delivered as an online/cloud-based service. Again, this will only increase with the rise of IoT.

Cybersecurity becomes an important issue here. But instead of combatting “cybersecurity” with the introduction of “more law in books”, my students should look for technology-based solutions.

#3 — Ethics

And, finally, there are the multiple ethical issues that are created in a code-based world.

Consider the example of the driverless car. How do we want our driverless car to react when confronted with an unavoidable accident? Should it minimize the loss of life, even if that means sacrificing the occupants of the car or should it prioritize the lives of the occupants at any cost? Alternatively, should the choice be a random one?

This “Trolley problem” is just one example. There are a lot of ethical questions involved with the dominant postion of software code in our society, varying from the ethics of video games, the issue of automation of employment to singularity (when machines are more intelligent than human beings).

Building the capacity of students to think about the social and ethical implications of code is both essential and inevitable.

But, in order to say something sensible about the ethical aspects of technology, it is necessary to understand both coding and coders.

Coding for “Good”

Code is everywhere. And, to be clear, code empowers, augments and greatly improves our lives. At least, most of the time.

Yet, in an increasingly software-driven world, we need to remain smart about technology. And this is what the “Coding for Lawyers” course is really about.

It is not only about teaching students “how to code”, but also about making them realize how important it is to think about our relationship with technology. In this way, students can see the new opportunities that technology creates, but also think about the trust and ethical issues that such new technologies create.

In my experience, coders, programmers and other developers do not always understand the industry or business environment they target with their software solutions. Nor do they always consider the trust or ethical issues when implementing new technologies. They are not trained to think in this way. Most tech-education is almost exclusively focused on technical training and skills.

12 Things Everyone Should Understand About Tech_Tech is more important than ever, deeply affecting culture, politics and society. Given all the time we spend with our…_medium.com

I have written about this before, but “co-creation” involving developers and non-developers will be crucial to building a “better” digital future. And understanding coding enables non-technologists to constructively engage with coders, programmers and other software developers.

By introducing these “three pillars” of our relationship with code (opportunities, trust and ethics), the course provides the necessary counter-balance to the technical aspects of coding.

Understanding code creates a new level of experience, which serves as the necessary first step for the students to participate in the development of software that has a positive social impact and contributes to a better digital future.

Thank you for reading! Please click the 👏 (which can be clicked as many times as you want) below, or leave a comment.

There is a new story every week. So if you follow me you won’t miss my latest insights about how the digital age is changing the way we live and work.


Published by HackerNoon on 2018/04/01