If you’re anxious about starting your first programming class, you’ve come to the right place. I have four practical tips to help you tackle and break down this complex subject, even if you have no prior experience.

Understand the What Before the How

When you start learning something complex, it can be confusing. Learning materials often fail to clearly separate what things are from how they work, diving straight into the gory details without first building a useful overview. So it’s up to you to learn what things are before your course starts diving into how they work.

You won’t know this yet, but most programming languages share the same common fundamentals. That’s perfect, because you can safely introduce yourself towhateach concept is in advance.

How-To Geek Back to School Week 2025.

Understandingwhateverything is first builds a strong foundation. Without that strong foundation, trying to use things that you don’t understand is wasting your time.

It’s good practice to do this for any subject, and in programming the list of topics looks something like this (in order of importance):

A shopping list on a kitchen table surrounded by vegtables.

There’s about 3 to 4 hours of work there for a beginner. Don’t worry about the details; just describe each in one or two sentences. The smaller the description, the easier it is to remember.

Doing that first allows you to focus on questions and practical work in classes. So, provide descriptions for the bullet point list (above) and make flashcards. Commit them to memory before your class begins. Spend about four hours preparing now, and your classes will be much easier.

Hand putting wooden cube block arranging processing management in brain shape on yellow background.

Focus On the Recipe, but Know the Ingredients

Programs are like a recipe: they’re a sequence of steps that achieve a goal. Keep that in mind and avoid the trap of laser-focusing on individual lines of code.

A beginner often looks at a line of code in confusion, which typically indicates that they don’t knowwhatsomething is (not how to use it). For example, if a program was a recipe, but you couldn’t read, then the recipe would be completely alien. Understanding what the ingredients are unlocks the meaning of the recipe.

I didn’t understand this principle in high school and ended up staring blankly at code, not understanding any of it. I managed to finish the short course, but I learned nothing. If you’re struggling like I did, go back and make sure you understand what everything is before trying to use them. Once you do that, you can put the ingredients together to describe how to achieve a goal.

It’s the recipe that should be your overall focus, not the individual lines of code. Define your goal, and break it down into steps. Describe those steps with ingredients. Because you now know what everything is, arranging the recipe into steps is 10 times easier.

If you only focus on the steps and ignore the ingredients, you’ll get stuck in tutorial hell, a state where beginners become dependent on tutorials to achieve their goals. Most beginners feel trapped there because they lack the foundational knowledge to build their steps upon.

Practice, Practice, Practice

Practice really does make perfect, especially in programming. In the long term, you need a lot of detailed knowledge to write good software, and you’re able to’t master it just by reading—you have to practice and learn from your mistakes. Reading only helps you get started, and you should spend at least 90% of your time actually writing code.

The first days or weeks are the hardest—it feels like scaling a mountain. It happens every time you learn a new programming language or complex tool. Your brain rejects the exhausting experience because it would much rather do something easy, like watch YouTube or TikTok. But once you push past that initial hurdle, coding becomes addictive. Like any skill, with fluency comes passion. Soon, solving problems will be the first thing on your mind when you wake up.

If you remember only one thing, let it be this: practice, practice, practice.

Make Note-Taking Front and Center

Your memory is limited, and what you learn will start to fade in a few weeks. Regular practice helps, but you can’t do it for everything. To help your future self, you need to write down what you learn. Over the years of taking notes, the following principles were key for me:

It’s better to pay attention and think during class instead of taking notes. Instead, ask for a recording, or make your own if allowed. Later, carefully review the recording and take notes, focusing on key information and skipping most minor details.

Take different kinds of notes too:

Your notes aren’t meant to be a detailed record—they’re instructions for your future self. Proofread them as if your future self is reading them and has forgotten everything.

It doesn’t matter if you use Zettelkasten or not. What matters most is staying organized and writing good summaries. If you can quickly find and understand ideas in your notes, it’s a good system.

If you want to learn more about Zettelkasten, the bookHow to Take Smart Notesby Sönke Ahrens helped me a lot. It explains the older manual system, but it also works in some modern note-taking applications likeObsidianandLogseq.

If you’re interested, we have a guide oncreating a personal wiki with Obsidianand avery brief introduction to Logseq. However, researching Zettelkasten is a separate project for you.

In short:

Most importantly,back your notes up regularly. Your notes are your crutch, and losing them could be devastating.

If you’re looking for a similar article, we have another:Things I Wish I Knew When I First Learned Programming. If you’re learning web development, perhaps you’d be interested inadvice for beginner web developers.