Why we need problem solving skills
Welcome back! In this lesson, we’ll talk real quick about why you need to build up those problem solving skills.
You’re in a great place if you’re here, even if it might not feel like it yet. You recognize that problem solving is indeed important to the process of approaching algorithmic challenges, and that you should learn the basics before you start getting too advanced with actual code.
You might be here for any of a litany of reasons. Perhaps you’ve been working on coding challenges so far, but end up peeking at the solutions more often than you’re comfortable with. Or the dreaded blank screen zone-out stare. It’s like… where do you even start? I mean, you want to feel more confident that you can solve it on your own—understandably so. It’s a great feeling when you can solve something yourself! Maybe you can currently follow along with the examples, but find yourself wondering how they just seemed to know what to put there. And—as was my experience—I was seriously overwhelmed with what seemed like a massive warehouse of moving gears contained in each algorithmic solution.
Or maybe you’re doing great, but this just sounds like a cool course to take. It totally is, because problem solving is cool once you get the hang of it. It’s basically the necessary steps involved with planning before we act. Lots of us—myself included—don’t like to plan, and prefer to just jump in. But how often does that really work, if you’re being honest with yourself?
First off, I want to tell you that you’re not alone. There’s no need to feel ashamed. Lack of problem solving skill and poor planning is the main reason that new coders struggle with progressing in their education. The majority of the pain points I just mentioned can be solved by something as simple as pseudocoding, which we’ll talk about later. And that’s only a small portion of what you’ll learn in the course. Most new coders—and many experienced ones—don’t even recognize that coding is 80% problem solving, and 20% coding. You might have alllllll the tools in the world in your toolkit—but if you don’t know how to use them, you can’t build anything, right?
Now, this course is completely language-agnostic. That means, you will not find any code here. Most courses I’ve seen out there focus in on more complex topics and assume that students have the same baseline understanding of problem solving approaches—and trust me, I did lots of research on the topic before creating this course, primarily for my own learning enjoyment. You simply can’t understand what something like a linked list or binary tree is, or how it works, unless you understand where and why where you would even use it in the grand scheme of your problem’s solution.
Most courses start at this level, but I would say that problem solving is the foundation of everything else programming-related. You don’t need to know the programming before you learn problem solving. Learning as you go simply doesn’t fill the educational needs of some folks, and that’s 100% okay, but not widely accepted. I was one of them, because I had to double back and figure out what the hell I was even doing.
I hope you now understand why learning to solve problems is critical for you to learn—and as a result, succeed. You cannot build great structures without a strong foundation. They will always be shaky, or collapse entirely. So let’s strengthen those foundations!
Key points from this lesson
- Problem solving skills will help you through challenges faster, and help you advance sooner
- Programming is 80% problem solving, 20% coding
- You can’t build if you don’t understand your tools and what they do
- This course has no code, because you don’t need code to learn to solve problems effectively
- Don’t build on shaky foundation
In the next lesson, we’ll talk about what people mean when they say you need to “think like a programmer”. This is a weird concept for a lot of newbies, because it’s unlike most of the problem solving approaches we see in the world. So, I’ll help you understand where it fits into your current skill set.
See you there!