How does one tell a computer what to do? Well, by speaking to it, of course. But the language used is slightly different than English.
How does your phone know what a website looks like? How does it know what to display on-screen when you tap on your favorite app? How does one teach a machine to do all these things? And, how do they do these things?
It’s a simple answer, really: by reading code.
“Code is the language of machines,” Science Department Leader Mr. Kevin Quinn said. “The neat thing about code is that it’s a language that we can learn and use to interact with and talk to machines.”
Quinn was formally introduced to computer science in his junior year of high school when he took an AP Computer Science course. He was intrigued by the more inner workings of technology, and any current students of his will tell you that he still is today.
But, why should the average Joe care about the language of code? What is it about code that makes it such an important facet of computing?
“Coding, or programming, is a way of writing instructions for computers that bridges the gap between how humans like to express themselves and how computers actually work,” Mr. Tom Standage, Deputy Editor of The Economist wrote in a September 2015 blog entry. “Writing a program and then running it is magic, in a way. The numbers, letters and symbols of code are transmuted into instructions executed by microscopic circuits to achieve the desired results.”
“I like to know how things work, and, hopefully, other people also have that curiosity,” Mrs. Ann Marie Veca Schilling, Ursinus College Professor of Computer Science & Math said in an interview with The Blackfriar Chronicle. “If you’re wondering how your phone works, or how your coffee-maker works, or how your microwave knows when to turn on and turn off, you should be interested in programming.”
“Learning and understanding code can open up a way of thinking called computational thinking,” Quinn said. “Computational thinking is the ability to put problems and questions in a format that a machine can think about it.”
This idea of computational thinking is at the root of a programmer’s job. Posing complex questions to a powerful piece of machinery in a way that can be understood by the machine is simply what they do.
But, why is this important? Should the world be training the new generations in the art of computer science? Some argue that programming skills can be applied to numerous fields, not just computer science.
“I don’t know if we need more people who are choosing computer science as their job,” Quinn said. “I think we need more people that have that [programming] skill and to have those people bringing their skills into other jobs and other fields.”
“I consider programming a creative outlet. Any type of engineering or problem solving requires a creative aspect,” Schilling said. “I think it would be beneficial to everybody to learn how to code because it brings both problem-solving and creativity together and helps to become a more well-rounded, full person – even if programming isn’t your job.”
Since the technological revolution, technology has advanced at an incredible pace and has quickly become indispensable in our society. Now, the younger generation, those born with the technology, are growing up and beginning to enter the workforce.
The New Face of Programming
“Growing up I was interested in programming from playing video games,” junior Zachary DeStefano said. “So then, naturally, I became interested in making games based on my own concepts.”
DeStefano has created and released three apps for Android and Apple tablets and phones under the moniker Z-Licious Games, and is currently working on a fourth unnamed app.
DeStefano said that starting broad is an important part of his process.
“You want to start about a little bit general, get something that’s fun, and have people test it and then hope they say it’s fun,” DeStefano said.
“I just start out with a simple idea that I think would be fun, and just go from there trying to get the basic layout completed first,” DeStefano said. “And if you can get that base going, then you can start adding other features.”
Two of DeStefano’s apps, Tiny Miner and 8-Bit Beatdown, have received high ratings and reviews in the app store and have been praised for their heavily stylistic retro graphics and ‘extremely addicting’ gameplay.
But for DeStefano, the applications and possibilities of programming and code don’t stop at video game production.
“I’m also looking into things like biology and biomedical engineering, there’s a lot of computer science in use there. There’s also a branch of economics that uses computer algorithms to predict certain things in the economy,” DeStefano said. “You constantly see computer science integrated into new fields, so, whatever field you’re looking at, computer science will be there.”
“That’s how all of these things come about, like robots in the workplace and in factories,” senior Zac Chan said. “There are robots being used in the military, they’ve got drones with cameras. That’s all coding to help make that work and make that happen.”
Chan became interested in programming in 8th grade when he built a desktop computer from scratch. Since then, he has taken multiple programming classes to further his knowledge of programming and computer science.
DeStefano described a recent project where he applied his programming skills.
“For statistics, I wrote a script that gathered random Twitter accounts, and extracted information about their location. Then, it gathered all of the tweets from a certain time range and determined whether the words used in the tweet reflect a generally positive or negative message,” DeStefano said. “We then compared these ratings to world and state happiness ratings and local crime statistics to see if there’s any correlation.”
“I’m definitely looking into programming as a career. I would still continue do it in my free time even if it wasn’t my career,” DeStefano said.
DeStefano has been working with other students at Malvern to help spark a larger interest in programming on Malvern’s campus.
“A couple of us [students] have been working to try and establish a programming club at Malvern,” DeStefano said. “We’re hoping to have a whole range of people, people who haven’t tried coding before, or even people who are experienced but want to learn new things or need some extra help.”
Hour of Code: A Programming Initiative
There have been past initiatives to bring computer science to the masses on campus. One such example is the Hour of Code which took place in the Learning Commons in December.
“Through Hour of Code, we hope to show that anyone can program and that it is fun to do,”Quinn said.
The initiative involved the use of Spheros, plastic balls that are remote-controllable via a coupled iPad application. The application allows users to stack pre-set lines of code or create custom lines of code to control the movement of the robo-ball.
The Hour of Code initiative was designed to dispel the myths about programming, primarily that programming only involves sitting in a dark room in front of a computer writing lines upon lines of code. In reality, programming is a skill primarily rooted in creative problem-solving, which makes its teachings applicable to a multitude of situations in the real world.
In fact, if our society continues to advance as fast as it has been, programming may become the most important skill of all. After all, how is it possible to survive in a society of machines without being able to speak their language?