Huffman Coding Explained: Build a File Compression Program in C
If you want a project that truly improves your programming skills, building a Huffman compression program in C is one of the best challenges you can take on. Huffman coding is a data compression algorithm that reduces file size by assigning shorter bit sequences to frequently used characters and longer sequences to rare characters. The…
4 Criteria for an Awesome Coding Project
If you ask the internet, “How do I learn to code?” you usually get the same advice. Just build something. So you build a calculator. Or a weather app. Or a to do list. But after you finish, you feel like this person who says, “I can’t understand and can’t do anything on my own.”…
How Senior Devs Organize Their C Projects
From Amateur to Pro: 3 Layers of Separation for Your Codebase Does your project directory look like a flat pile of files? You know the look: logic, headers, tests, and binaries all fighting for space in one folder. In a university project, this is fine. But in a professional environment, this is called Source Pollution.…
How to Merge Conflicts in Git
When you’re coding with other people on a team, you typically work on different sections of a codebase. You’ll focus on one feature, and your coworker or teammate will focus on another feature. This is why Git is a really useful tool—because Git allows people to work in what are called branches. You can work…
Common Beginner Mistakes in C Programming and How to Avoid Them
When I was first learning how to code, I made a lot of mistakes — and sometimes I made the same mistake over and over and over again. The hard thing about programming is that the computer will do exactly what you tell it to do. It’s not like a human that can take what…
A Beginner’s Guide to Organizing Code: Make Your Projects Manageable
Organizing your code is an important skill for every developer. It ensures that your code is easy to follow, that it has a logical flow, and it helps you so you don’t get lost as you’re developing more features. It gets increasingly more important as you make your code more and more complex. When you…
The Secret Language Of Computer Data EXPLAINED!
Often we’re told that data to computers are just ones and zeros. What this means is that computers don’t actually understand or know what the data is that they’re dealing with and what they’re referring to. Like, say you send your email to your friend—technically, your computer doesn’t really understand what that data is. Even…
How to Approach a Coding Problem: Step-by-Step Guide for Beginners
Coding problems can seem overwhelming at first glance. Just take a look at this problem—Palindrome Number. This is a problem on LeetCode, and in this problem, it says:“Given an integer X, return true if X is a palindrome and false otherwise.” This is overwhelming at first because we know how to determine if a number…
Pointers in C Explained: What They Are and Why You Need Them
When I first learned pointers in C, I thought they were very annoying. I would always run my program and then I would run into a segmentation fault error, and then I would have no idea why there was an error going on. It was just annoying to keep track of all the different pointers,…
