Computer science (CS) is about what computers can do. Programming is the practice of making computers do those things. Thus, anyone without much knowledge in computer science has one big challenge when they start to learn programming: they have to understand what everyone is talking about! Since the technical terms can get a bit overwhelming at some point, this guide will provide beginner coders with helpful tips for getting a hang of it all. There are plenty of free resources for learning computer science basics online, and I hope the ones I’m sharing with you make the process easier for you.
Learning programming without knowing much about computer science is like learning how to drive but not knowing what happens when you turn the steering wheel. You will learn it all eventually little by little, but taking the time to focus your efforts on it first may pay off in the future.
When I first started to learn programming, I was a complete beginner with both coding and computer science. I had never written any programs or laid my hands on a coding book before. But I learned a thing or two along the way about how to get things started. If you are a beginner yourself, too, this post will help you get going!
— See also: Why I Started to Teach Myself to Code
Here’s a little overview of the topics discussed in this post:
- Why I wanted to start learning coding
- Learning computer science basics little by little
- Free online courses for learning computer science basics
- Understanding the CS jargon bit by bit
- Defining your goals as a programmer
- Bottom line: learn the basics, do not try to understand everything
Why I wanted to start learning coding
When you first get the idea of wanting to start learning how to program, knowing basic computer science concepts to speed up the process.
How does the Web work? What do front-end developers do? How about back-end developers? What are the underlying fundamentals for programming to begin with?
Once you start coding, you’ll learn all this little by little. However, it’s better to start the journey by learning computer science basics before starting to write code itself. That way you can reach your goals with coding faster and more efficiently. You simply won’t get confused as often – that saves you time!
My journey towards becoming a programmer started in September 2016. I had an issue with a spreadsheet and data analysis that I wanted to optimise. It wasn’t anything too big, just a little thing I wanted to fix. It turned out that there wasn’t a built-in solution for my problem in the software I was using. Hence, someone smart would have to do some programming to get it done.
I started to think that, you know, while I’m already at it, that someone could just as well be me.
So I made the decision to start learning how to solve problems with coding. I looked for an answer to my spreadsheet problem in discussion forums and found quite a few solutions right away.
The only problem was that I had no idea what all those people in the forums were talking about!
Learning computer science basics little by little
First off, I had no idea what a compiler was. Let alone the difference between a functional and a procedural programming language!
It seemed like every answer I found resulted in three more questions. Moreover, every hyperlink lead to a new page with 20 more links I wanted to follow.
I really felt like losing myself in Wikipedia at some point to be honest. There were high-level programming languages, low-level ones, markup languages and what not. And since I had such a strong motivation and drive for learning coding, I did not want to give up. I just did not know where to start! If that sounds familiar, you might find my post about some of the most common programming language paradigms pretty helpful.
It was really important for me to understand the logic and fundamentals of programming if I was serious about learning it. To be able to do that, I first needed to start learning computer science basics first before programming anything myself.
Free online courses for learning computer science basics
All in all, online resources are wonderful, but they can get a bit overwhelming from time to time. However, I managed to find several great free online courses that combined computer science basics with practical projects in different programming languages. If you are a beginner, these free online courses should help you get started:
- Computer Science E-50 of Harvard College is my ultimate favourite for computer science basics for beginners. The professor does an amazing job explaining everything and the content is really high in quality with full lecture videos. It is quite a comprehensive course for learning computer science basics, so make sure you check it out!
- Computer Science E-75 by the same professor is another good one. Currently the most recent content is a few years old (from 2012), but the fundamentals for the topics are still accurate. Take a look at the very first lecture on how HTTP traffic works, for example. It is packed with helpful, useful information for anyone who surfs on the Web.
- Intro to Computer Science course at Udacity is another one of my favourites. It focuses on learning computer science basics for beginners and at the same time introduces you to plenty of practical projects using Python. Some of the problem sets may seem a bit difficult if you’re a beginner. However, if you get stuck you can check out the forum for some help from fellow students!
Understanding the CS jargon bit by bit
You will start to get the hang of it rather quickly when you learn something completely new that you are genuinely interested in. That said, I started to feel more familiar with the topics in diverse discussion forums and blogs pretty soon after I started with the courses above. At this point it was clear that I was not doing it all just for the silly stubborn spreadsheet at work anymore.
Moreover, the more answers and solutions I found for my questions and problems, the more impressed I was by the possibilities of programming. It also became quite obvious to me how important understanding and learning computer science basics before starting programming really is.
Furthermore, reading the forums and blogs (which I now understood!) and seeing how everyone was coming up with solutions for each others’ coding problems was very inspiring! People were helping each other, creating something out of nothing just by writing good code that works. This open community with such a positive, supportive atmosphere was just incredibly motivating!
Defining your goals as a programmer
After you get familiar with the basics, the next big step is to decide what you wish to achieve with programming. You can then choose a suitable programming language that lets you translate your ambitions into concrete projects. I have gathered some tips for you in another post on how to choose your first programming language, check it out!
The different, diverse projects in programming are usually divided into two areas. Firstly, there’s the development on the end-user or client side, called the front-end. The second one is the back-end part, which entails the work done on the server-side. For a more detailed overview about the differences between these two, read my post on back-end development vs front-end development.
I personally wanted to create a web application. A responsive website where users could register and create profiles, post content, and modify it. So I needed to do some back-end work to create a database for my users and the content they post. Additionally, I would have to learn some front-end skills, too, to create a user-friendly and beautiful user interface.
For a beginner this seemed like a pretty daunting task. I’ll write more about the actual project in a later post.
Remember: Learn the basics – don’t try to understand everything
All in all, it’s extremely important to understand computer science basics before actually starting to write code. It will save you a lot of time and nerves, since you won’t get confused and have to look for answers in the midst of writing an awesome program. Learning computer science basics before programming gives you a better idea of what happens in the background when your programs are running. Let alone when they’re not running as you’d want them to!
As I mentioned, you will also learn basic computer science concepts once you start coding, too. However, that way the process of understanding what you’re actually doing can take longer.
One more thing: it’s easy to get lost in the endless sea of terminology and jargon. Just try to focus on what is relevant and important to you. Trying to understand everything is like a double-edged sword when it comes to coding and computer science. If you try to understand everything, you’ll get nothing done. Especially if it’s all totally new to you. You will be dealing with incredibly many new technical terms and concepts to understand.
Therefore, try to strike a balance between letting a few things slide and making sure you get the hang of it for the most part. If you feel like there’s something (important) you didn’t quite get, simply go back and take another look at it.
Finally, if you are a beginner with programming, you might also find my post on a few easy steps to get you started with coding quite helpful.
Good luck and have fun!
Please let me know how your first steps with programming were. Did you learn computer science basics before coding or both hand in hand? And if you liked this post, please share it so that others can read it, too!