By Elliot Kantor
Americans spend over six hours every day in front of screens (and surely even more during a pandemic!). It’s more important than ever to learn how to use a computer efficiently and productively, and therefore I believe that everyone should at least become acquainted with what computer programming really is. Programming, coding, or scripting isn’t just for nerds anymore. When used properly, code can literally save hours of your life. And with social media’s influence continuing to spread worldwide, it’s important to understand the ethical concerns behind machine-learning algorithms and data science. I’d like to give a brief overview of modern computing and its effects on you as a user. I’ll start with some explanation as to how coding is so useful, then discuss the next steps if you’re so inclined. Let’s begin!
“A computer is like a Swiss Army knife that you can configure for countless tasks. Many people spend hours clicking and typing to perform repetitive tasks, unaware that the machine they’re using could do their job in seconds if they gave it the right instructions,” writes Al Sweigart, author of Automate the Boring Stuff with Python. For the most part, my sentiment on coding reflects that of Sweigart. You don’t have to be a dedicated computer geek to find use out of some programming knowledge. From filling in online forms and manipulating Excel workbooks to automating online games, programming can be for everyone. Doing my schoolwork from home this year, I’ve made a program to automatically sign in to Zoom classes for me. I can control LEDs across the house from my phone and create machine learning models to identify cats and dogs. Even if you don’t appreciate the coding as a hobby, it’s still useful! You can organize your desktop with one line of code or send automatic emails to anyone in the world. Need more examples? Discord bots, web-scraping (pulling information off of webpages automatically), and adventure games all have one thing in common: they can be coded with Python.
Python is one of the fastest-growing programming languages right now, and for good reason! Its syntax is concise and high-level, meaning it’s easy for humans to understand, yet powerful enough to be used in corporate settings. In fact, nearly all machine-learning, deep learning, and artificial intelligence libraries work well with Python. Google and Facebook both develop open-source software that you can use! The community is helpful, there are thousands of tutorials, and enough packages available to add extensive functionality that you never thought possible. I hope I’ve convinced you that Python is a great all-purpose coding language. But how do you learn? As I mentioned before, Al Sweigart’s Automate the Boring Stuff with Python book is one of the best resources. After following the book and attempting its examples, you could progress from no programming experience to saving hours of time formatting spreadsheets or filling in forms. Learning computer science in any form is a great way to think about problems. By breaking down tasks into their components, then optimizing each, you can make difficult tasks more manageable, no matter your discipline. Of course, some people find more joy from the innate logic of a computer than others, but understanding that everything a computer does is programmed logically by a human is important to understand. But what if humans didn’t explicitly tell a computer what to do?
Machine learning is a type of coding where we humans give the computer data instead of instructions, then tell the computer to reverse-engineer instructions for us. For example, giving a computer hundreds of images of dogs and cats, with appropriate filenames, could yield a “model” that can predict if almost any image is a dog or a cat! It’s more useful than that, though. It’s easy to think that these “algorithms” we hear about with social media are tweaked by men in lab coats, but really it’s our data that influences its decisions. Humans of course can have some say in process, but for the most part the model is extracted from the petabytes of data that we freely give these companies. After you’ve learned to Automate the Boring Stuff and make simple games, machine-learning is a great path to take in the modern world. Probably the best resource for learning deep learning (a type of machine learning) is an introductory course from fast.ai. It’s written for Python, free, and accessible to anyone as long as you have an internet connection (Google Colab provides free GPUs and CPUs).
That’s a lot of information all at once. To summarize, everyone should at least be familiar with what coding is, regardless of if you’d like to pursue it as a hobby or career. By the time you finish reading the introductory Python book, you can code laps around your coworkers in an office setting or (completely theoretically, of course) automate your virtual classes so you don’t even need to be in the same room! If you’re interested, follow through the book studiously and get as much practice as you can. It should take several months to complete with full comprehension. Then try several personal projects, research what you don’t understand, and continue to sharpen your skills! If machine-learning is interesting, visit fast.ai and try their course. With any luck, you’ll be more productive and have fun while doing it!