When you start teaching yourself to code, learning Computer Science basics helps you learn coding more quickly and easily.
There’s a bunch of technical terminology flying around when you learn how to code, right? It can feel a bit overwhelming especially when you’re just starting out. When I started to learn programming, I had no clue what I was doing. Everyone was talking about all these things I had never heard before. (Help!)
In short: Computer Science (CS) is about what computers can do. Programming is the practice of making computers do those things.
Understanding some CS fundamentals helped me learn programming and web development much faster. So, to help you achieve your coding goals quicker, in this post I’ll share what I wish I had know about Computer Science when I started learning programming.
I guess you could say that learning programming without understanding CS is like learning how to drive but not knowing what happens when you turn the steering wheel. Not good.
You will learn the basics eventually, little by little. But trust me, you’ll have much less headaches if you do it now.
Luckily, there are lots of free resources out there for learning Computer Science basics online. Once you’re done reading this post, you can enjoy a much easier learning process on your coding journey, I promise.
If you’re completely new to coding, make sure you check out my Free Coding Guide for Beginners for a smooth start into learning!
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
- Recommended 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
Please note that some of the links in this post are affiliate links, meaning that if you choose to purchase a course, at no extra cost to you I may get a tiny commission for referring you to cover the costs of running this website. But please, only buy products or services that you really need and that are helpful to you. Thank you for your support!
Why I wanted to learn how to code
When you first get the idea of wanting to start learning how to program, knowing basic computer science concepts can speed up your learning 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? How does the binary system work?
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 – saving you valuable time.
Read also: Why I Started to Teach Myself to Code
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 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.
The Best Online Courses for Learning Computer Science Basics
All in all, online resources are wonderful, but finding the perfect course can feel a bit overwhelming from time to time.
That’s why I’ve put together a small list of online courses for you. These are the courses that I’ve taken myself and that I shamelessly recommend for anyone just starting out with programming and Computer Science.
1: Computer Basics (Treehouse)
Computer Basics at Team Treehouse is an excellent Computer Science introductory course for beginners.
If you’re in a hurry, this short course is perfect for you. You will learn a bunch of Computer Science basics in just about an hour. You’ll take a look at the underlying concepts of how computers work and what’s happening behind the scenes when you run your computer programs.
You’ll learn the basics of data processing, how memory works, what binary means in CS, and how computer software works.
If you’re not familiar with Treehouse yet, simply try their free 7-day trial!
2: CS101 Bootcamp (Udemy)
You don’t need any technical experience with Computer Science to take this course, so it’s perfect for absolute beginners. As long as you’ve used a smartphone or a computer in the past, that will be sufficient for this short 2-hour course.
At the end, you will understand the fundamentals of databases, mobile apps, and the basics of software programming. Moreover, you will even write you very own basic software programs and applications.
3: Computer Science 101 (Udemy)
This is definitely my #1 recommendation for Computer Science fundamentals for beginners.
If you’re looking to master CS theory – which is highly recommended for any programmer – this course is the perfect choice. Once you’re done, you will be familiar with how binary code works and be comfortable with analysing and using algorithms of various kinds.
4: Computer Science E-50 (Harvard College)
Computer Science E-50 of Harvard College is my favourite free CS basics course for beginners.
The professor does an amazing job explaining everything, so you’ll never feel like you’re left behind. You’ll be taken into the lecture halls of Harvard, where you can enjoy full-length lecture videos and solve exercise sets that help you apply what you’re learning.
5: Computer Science E-75 (Harvard College)
Computer Science E-75 by the same professor is another excellent beginner-level course for learning Computer Science basics.
At the time of writing this, the most recent content is a few years old (from 2012). However, 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.
6: Intro to Computer Science (Udacity)
Intro to Computer Science at Udacity is another one of my favourites.
The course 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.
Ultimately, 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 to my questions and problems, the more impressed I was by the possibilities of programming in general. It also became quite obvious 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 genuinely inspiring.
People were helping each other, creating something out of nothing just by writing good code that did the job. 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 andComputer 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 you didn’t understand something (important), 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. And to get you started with learning the basics, I’ve put together a list of awesome HTML and CSS courses for beginners that I recommend.
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!