Programming is tough. Whether you're trying to grasp a new programming language or delving into a new area of programming, you're going to need some guidance. Unfortunately, not all tutorials are made equal.

That's why it's so important that you're able to discern between programming tutorials that will actually benefit you and those that will only waste your time. Walking through a proper tutorial can be the difference between stress-free programming or giving up in frustration.

Don't waste countless hours like I have. Here's what to look for in a quality programming tutorial.

Topical & Incremental Approach

Nothing is more discouraging than an infodump. Learning is a process of small steps taken at a time. Tutorials that go into information overload are ones that should be avoided at all costs. They'll just end up confusing you.

On the other hand, a great tutorial is one that is topical and incremental, teaching in a way that starts with fundamental basics before building up to more advanced topics that require prior knowledge to truly understand.

great-programming-tutorial-kilobolt

But again, it's important for a tutorial to be both topical and incremental. Dense topics should be broken down into small subtopics, and if those are still too dense, subtopics should be broken down even further.

In other words, each idea that gets taught should be as simple as it can be yet comprehensive enough to stand on its own.

One of the most memorable tutorials I've ever read was How to Remake Flappy Bird in LibGDX by Kilobolt. This step-by-step walkthrough of recreating Flappy Bird from scratch is a perfect example of incremental progress and topical coverage.

Easy-to-Digest Language

Information overload isn't the only obstacle on the way to understanding a subject. The actual language of the tutorial -- by which I mean diction, the inclusion (or exclusion) of jargon, idioms, etc. -- is just as important.

Another way to look at it: the clearer it's explained, the easier it will be to digest. Even the simplest concepts can be a nightmare to unwrap if the explanation is convoluted. So what should you look for?

Short and concise language. A proper educator knows the importance of being straightforward. They won't dance around with long-winded sentences or try to show off how much they think they know. Tutorials are all about you, not them.

Light usage of jargon. Jargon can be hard to avoid, especially in areas of specialized knowledge like programming. However, a proper educator knows when to bring up jargon, when to postpone it, and when to skip it altogether.

great-programming-tutorial-codecademy

When jargon is unavoidable, the educator should explain each term as it's brought up rather than assuming the audience knows what it means. (The only exception to this is for tutorials that are clearly labeled as non-introductory.)

Concrete examples of abstract topics. Programming knowledge is heavily abstract, which is why it can be so difficult for some people to grasp. An excellent tutorial will not just explain a concept, but provide multiple examples that provide practical illustrations.

Online coding school Codecademy is a fantastic exemplar of easy-to-digest programming lessons. Not only is each course incrementally designed, but there isn't much reliance on jargon and each lesson includes several real-world illustrations of just-learned concepts.

Guided Practical Exercises

On the spectrum between "purely theoretical" and "purely practical", programming has a heavy bias towards the latter. Of course there's a lot of theory and abstract knowledge involved, but none of it really matters if you can't apply it with written code.

And that's why it's essential for programming tutorials to offer at least one -- but ideally more -- guided practical exercises. This is true whether you're learning from a print, digital, or online source.

The absolute epitome of this idea is CheckIO, a programming tutorial that's cleverly disguised as a game with progression through multiple stages. As of now, they only teach the Python language.

great-programming-tutorial-checkio

Each stage presents you with a concrete goal that represents one of several algorithms and abstract topics (e.g. feed X pigeons without overfeeding them). Doing so not only forces you to actively engage with the subject, but gives you an obstacle to overcome so you can actually feel like you're learning.

We've also compiled a few other programming project ideas to help you learn faster. Supplement with these unique ways to learn coding to really kick your progress into full gear.

Where to Find Excellent Tutorials

Now that you know what to look for, where can you find them? While tutorials are a dime a dozen and a simple Google search will point you to thousands of them, the good ones can be somewhat tricky to find. It's a shame how that works, isn't it?

One brilliant resource is Hackr.io, which is a crowd-sourced collection of the best programming and tech-related tutorials on the web by topic and language. You do yourself a disfavor by overlooking this website.

Other great places to start include these online course sites for tech skills, these courses by Microsoft and edX, and if you're willing to drop a bit of cash, these online pay-what-you-want course bundles. Consider supplementing your education with these programming blogs for students.

And lastly, I recommend reading up on programming burnout and motivation. Bookmark it. Check back on it every few months. If you aren't suffering from it now, you will at some point down the line, and if your motivation dies for good, it might mean you aren't meant to be a programmer.

What kind of programming tutorials do you like best? Text or video? Theoretical or practical? Which sites and resources have proven most helpful to you? Tell us all about it in the comments below!

Image Credits: Code on Monitor Via Shutterstock