An Introduction to Computer Science
- Jasmine
- Feb 14, 2025
- 6 min read
Author: Jasmine
Published on: February 14, 2025
Written on: February 4, 2025
An Introduction to Computer Science
Computer science is a vast field full of different disciplines and subjects. It covers a wide range of topics, from game development to data structures. With so many fascinating subjects, there’s something for everyone. However, this massive field can also feel too big, confusing, and even a bit intimidating.
When you first start looking into computer science (CS), you’ll see a lot of unfamiliar and new terms. You might be asking yourself: What’s an algorithm, or an IDE? A compiler? Syntax? Binary?
And don’t get me started on all the different programming “languages” out there!

But don’t worry! The goal of this blog is to help you understand all that. And possibly keep you from setting your computer ablaze after spending countless hours trying to read the tiny green text (But I can’t make any promises on that front). In this blog, I’ll break down the basics of computer science. Starting with simple terminology, then programming languages, and finally I’ll share my favorite resources to help you in your journey!
Let’s get started!
Basic Terminology
Computer Science: The study of computers and their systems, including everything from data structures, software development, and other computational methods.
Programming: The process of writing computer programs. It's basically telling the computer what to do. Imagine that you (the computer) are cooking. You grab the recipe (the programming) and follow the instructions.
Binary/Bit: A number system the computer processes using 0 and 1 to represent data. It can be a bit complicated to understand binary. So for now, just remember that binary is what your computer reads, and the numbers are called "bits".
Compiler: A program that translates high-level code (code that you can read easier) into machine code (typically the binary system). It does this so that programmers can code easier, and the compiler worries about making it readable to the computer.
Syntax: The set of rules that define the structure of statements in a programming language. Things like how commands, keywords, operators, and symbols should be arranged follow the rules of syntax.
Languages: Programming languages (high-level code) used to communicate instructions to a computer, such as Python, Java, C++, and JavaScript.
Algorithm: A step-by-step procedure or formula for solving a problem or performing a computation. It helps guide a program’s behavior.
IDE (Integrated Development Environment): A software tool that provides developers with features like code editing, testing, debugging, and compiling to facilitate programming tasks.
CPU (Central Processing Unit): The brain of a computer that performs basic arithmetic, logic, control, and input/output operations as it processes instructions.
RAM (Random Access Memory): A type of volatile memory that temporarily stores data and instructions needed by the CPU for quick access while the system is running.
Bug: An error or flaw in a program that causes it to behave unexpectedly or incorrectly, often due to incorrect logic or coding mistakes.
API (Application Programming Interface): A set of protocols and tools that allow different software applications to communicate with each other, defining how requests and responses should occur.
Cybersecurity: The practice of protecting systems, networks, and data from cyber threats, including hacking, viruses, and data breaches, using methods like encryption and firewalls.
Code: A set of instructions written in a programming language that a computer can execute. It refers to the actual source code of programs and applications.

Programming Languages
Programming languages are simply different ways to tell a computer what to do. Think of them as the bridge between human instructions and computer operations. These languages are known as “high-level languages”, meaning they’re designed to be easier for humans to read and understand.
But here’s the catch: computers can’t actually read these high-level languages. Instead, they rely on machine language or low-level language (a.k.a. binary). Remember when we talked about terminology? That’s right—computers only understand binary, a series of 1s and 0s.
Here’s an example:
Binary (Machine/Low-Level Language):
01110000 01110010 01101001 01101110 01110100 00101000 01001000 01100101 01101100 01101100 01101111 00101001
Python (A High-Level Language):
print("Hello")
I think we can all agree: Python is much easier to read than binary!
Because it’s easier to read high level languages, they are the ones programmers use on a daily basis. But each language comes with its own strengths, weaknesses, and use cases. Now, I bet you’re saying, “If computers only understand binary, how do we use these human-friendly languages?” Well, that’s where compilers come in! A compiler translates high-level code into machine language, making it understandable for the computer.
Fun Fact!
The first-ever high-level programming language was Fortran, created in 1954 by John Backus.
There are hundreds of programming languages out there, but below are some of the most common and well-known ones that you’ll likely come across! Along with the definitions, you’ll also see a print statement in each unique syntax.
JavaScript: Primarily used for web development and adding interactive elements like buttons, animations, and more. It’s relatively simple to use and is often considered to be the best language for aspiring programmers to learn along with Python.
Print Statement: console.log("Hello");
Python: An extremely versatile language with very readable syntax. Web development, data analysis, and automation are what it’s typically used for. It’s very popular so there’s no shortage of tutorials and lessons, making it a great first language to learn.
Print Statement: print("Hello")
C++: A very powerful language capable of making game engines and applications requiring high performance from scratch. Many powerful game engines use it, making it a perfect language to learn if you’re into game development. Unfortunately, it’s considered to be one of the hardest languages to learn. But don’t let that stop you! There are still plenty of tutorials for it, it just might take longer to fully grasp.
Print Statement:
#include <iostream>
using namespace std;
int main() {
cout << "Hello" << endl;
return 0;
}
Java: A general purpose language that is used in apps and large scale applications. It’s also unique because code written in Java can run on any platform with a Java Virtual Machine. It is also a more complicated language to learn because it requires an understanding of object-oriented programming, but it’s definitely worth it.
Print Statement:
public class Main {
public static void main(String[] args) {
System.out.println("Hello");
}
}
Swift: Designed specifically by Apple for iOS app creation. Used to make apps for iPhones, iPads, and other Apple devices. Easy to learn, and perfect for app creation. A modern and beginner friendly language with more readable syntax. However, it’s limited on what it can be used for.
Print Statement: print("Hello")
SQL: Used for interacting with and managing databases. Often used in conjunction with other languages like Python or R for data manipulation. While it’s not your typical language, it’s essential for backend development. Simple and easy to understand, it's a good idea to learn if you plan on doing anything with databases.
Print Statement: In SQL, we don't typically print directly, but we can select a string as a result:
SELECT 'Hello';

Resources:
As you continue to grow and develop your programming skills, having the right resources can make all the difference. Therefore, I want to share with you some of my go-to tools that have been helpful for me. Whether you're debugging a tricky line of code or learning a brand-new language, these resources are designed to guide you, answer your questions, and keep you motivated.
https://www.kodugamelab.com/ - For understanding the basics of 3d game development using a game-like environment. Geared towards 12 and under, but anyone can benefit from it.
https://www.youtube.com/@TheCodingSloth/videos - A Youtube channel dedicated to help you understand the basics of programming and give tips and tricks for motivation.
https://www.youtube.com/@freecodecamp - Another Youtube channel in the forms of courses.
https://girlswhocode.com/ - Offers self-paced and summer programs as well as resources to learn coding.
https://app.fierocode.com/sign-in - An online course available for free in many schools and libraries
https://www.codecademy.com/ - Another course available online for learning coding.
https://www.codewars.com/ - A competitive learning environment for practising code while competing with your friends.
https://code.org/students - A course to learn code that’s geared for people 5 - 11 years.
https://www.w3schools.com/python/ - An incredible database of tutorials for many different aspects of programming.
https://www.geeksforgeeks.org/ - Another great database for tutorials and even has courses.
https://stackoverflow.com/questions - A place where you can post their questions or bug in their code and get answers from other programmers.
https://www.khanacademy.org/login - Has a computer science course that keeps track of your progress and has mastery levels.
Code: The Hidden Language of Computer Hardware and Software Book by Charles Petzold
Everything You Need to Ace Computer Science and Coding in One Big Fat Notebook: The Complete Middle School Study Guide (Big Fat Notebooks) by Grant Smith
Electronics Fundamentals: A Systems Approach by Thomas Floyd
As you can see, computer science may seem overwhelming at first, but by breaking it down into manageable chunks, it's easier to understand and dive into. From grasping fundamental concepts like binary and algorithms to learning different programming languages like Python, Java, and C++, the world of computer science becomes a lot less intimidating once you start exploring it step by step.
The key is persistence and curiosity. With so many resources available to you, there’s no shortage of tools, communities, and tutorials to guide your learning journey. Whether you’re creating your first program, delving into game development, or building databases, there’s always something new to discover and master. So keep exploring, ask questions, and don’t be afraid to make mistakes—because each one will bring you closer to your goal of becoming a skilled programmer. Keep exploring and change tomorrow!


Comments