top of page

How to get into coding

Updated: Nov 1, 2020

Being able to code is an extremely useful skill to have, even if you don’t pursue a career in computer science, as we depend more and more on computers to facilitate our daily tasks. Unfortunately, the subject of computer science can often seem very daunting and complicated, conjuring up images of unintelligible blocks of white text set on black backgrounds. I’m here to tell you that it’s really not as complicated as it seems! This guide will provide you a quick step-by-step guide to getting started with coding, as well as resources to learn and explore further.


Preface


Before we get into the guide, I want to note that computer science is NOT just coding; the act of physically writing code is only a small part of the field. “Computer science” is actually the study of computing, and it is mostly made up of theory, including things like complexity theory, study of programming languages, compiler theory, and much more. Many of these topics are rooted in or related to fields in high-level mathematics. However, most people won’t encounter these topics until university, and only if they pursue a major in computer science or a related field.


At the high school level, most people are exposed to computer science through AP classes, web/application development (creating websites, apps, etc.), or robotics (coding robots). Through these channels, they are able to establish a strong platform in coding, which is useful if they go on to pursue computer science in university.


The Guide


The language we are going to be starting with (for the first step) is Javascript, which, contrary to its name, has nothing to do with Java. Javascript is a great beginner language because it has easy-to-understand syntax and tons of libraries and resources created by other people.


It does not matter what language you start with -- the fundamentals of coding are essentially the same. Once you know one language pretty well, it’s very easy to quickly switch to another, since all you have to learn is some new syntax.



Step 1: Learn the basics: variables, operators, control blocks, functions


These are the basic building blocks of every program in basically every language -- you should establish a strong foundation and thoroughly understand these topics.




Step 2: Get more advanced: object-oriented programming (OOP)


Object-oriented programming is a programming paradigm. If that means nothing to you, don’t worry -- basically, it’s a specific way of writing code in which everything in your program is represented by something called an “object”. For example, if I were to write a program to manage inventory for a pet store, things I would represent as “objects” might be the pet store itself, units of pet items being sold, each purchase and monetary transaction, etc.


OOP is important to learn because it’s become an extremely popular programming pattern in recent years (Java and C++ are OOP, Javascript has support for OOP, etc.).




Step 3: Let’s think! Data structures and algorithms


Apart from being super interesting to learn about, being able to effectively use different data structures and algorithms is probably the most heavily tested skill in coding job interviews. In addition, as high schoolers, there are also many competitions in which you can compete, such as USACO (USA Computing Olympiad) and Stanford Proco.


As an example of an interesting problem to get you thinking, say everyone in your school has a list of their selected classes for the upcoming year. Can you construct an algorithm that will generate a schedule for everyone, while ensuring conditions such as nobody having two classes at the same time, each class having less than 30 people, etc.? Does there even exist a perfect algorithm for this?




Step 4: [Optional] Learn an older language such as C or Pascal


Now that you have the necessary knowledge, it can be very useful to go back and learn a slightly older language. This will not only help you expand your knowledge of the world of programming languages in general, but also introduce you to how other languages work. In addition, you can think about the differences between a more user-friendly language such as Javascript 2018 versus something more involved such as C.



Step 5: Actually build something!


Now that you have all the basics in place, you’re all set to actually build something -- be it an algorithm, website, or software program. Depending on what field you decide to learn about, you should use different resources and potentially different languages, but here are some good resources to look into:


Game development:


Web development:


Mobile app development:


Machine Learning:

Google’s Tensorflow



Step 6: [Optional] Learn some theory


Coding is great and all, but do you ever wonder about the programs that are actually running the code that you write (aka compilers and interpreters)? Or how the models that modern computers are built on were developed? Or how, in video games, your computer is able to render hyperrealistic 3D scenes in almost real time? All of these topics fall under fields of CS theory -- stay tuned for a future blog post on these topics and more!


Final Note

The only way to get better at programming is to practice -- so just apply yourself, code regularly, and have fun with it, and you’ll quickly see visible improvements!

25 views0 comments

Recent Posts

See All
bottom of page