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.…
C tutorial: Organize your data using structs
What software developers don’t emphasize much is the planning aspect when it comes to development. I see questions online asking how it’s possible to code 8 hours a day. The truth is that we don’t really code 8 hours a day. Most of the time we are planning, organizing, and debugging. Coding is usually the…
What is GitHub and how to use it?
When you start learning how to code, you will eventually see people talk about github. What is github and how do I start using it? Do I need to use it? Well, the truth is, every software developer I know uses git. It’s such a useful tool not only for individual development, but also when…
Will programmers be replaced by AI?
I see this question asked a lot online. Especially after the release of ChatGPT. There’ve been a lot of cool and interesting videos showing ChatGPT writing code and it just shows what AI has the potential to create. Most people ask this question because they’re scared of being replaced by AI. It’s natural for those…
Coding Challenge from Google!
Software job interviews often involve some sort of coding challenge. It’s a great way to test and see if you can code simple programming tasks that are necessary for the job. It’s also a great way for a company to see how you think. Resumes are not always great indicators of your programming skills and…
Do I need a degree to be a software engineer?
Software engineering and software development jobs are in high demand these days and it makes a lot of sense. The digital world is growing more and more everyday and our world is becoming more and more digital. Businesses and products are going digital. Anyone heard of NFTs, the Metaverse, VR, online courses and universities? But…
Why you should start using Terminal and how to use it
Using Terminal or some sort of command line interface is essential for anyone working with computers and especially for programmers. It allows you to do a deep dive into your computer when something is wrong. It allows you to perform software installations. It allows you to execute scripts and compile your code. It also allows…
