The "QDD" Approach To Learning Programming

QDD stands for question-driven development, and today we will be utilizing it to follow a clear path to becoming a successful programmer.

Inspired by: https://www.youtube.com/watch?v=343EWZS9O88

Tutorial Hell
Tutorial hell in this context usually means that you are stuck in a loop where you keep watching tutorials but learn minimal to no information from the source.

Programming can be a difficult subject, but QDD is one of those tools that helps you along the way. Today, we will utilize it and explain how to use it.

QDD is a framework to straighten your path to becoming an advanced programmer, or to escaping tutorial hell. This is how it works:

For example, if I want to make a temperature converter that converts from Celsius to kelvin, I will ask myself questions and Google them.

What is the equation for converting Celsius to Kelvin?
How do I use the “math()” class in LUAU?"
“How do I use functions in LUAU?”

I highly recommend you touch up on the basics first, though, because this approach does require some information.

Make your own mini projects (under 150 lines of code); if you can’t find one, search for it on Google.

You should for example, for each 3-5 coding tutorials you watch, build 3-4 mini projects.

Note: Build a positive relationship between tutorials; don’t speedrun them or watch too many in a day; for example, watch 45 minutes worth of coding tutorials and finish.

Cheatsheets
I recommend you make yourself a cheat sheet while learning, or use cheat sheets to expand your information on luau.

You will need to know some information.
Not everything is done without a little bit of instruction, so please brush up on the basics before you try this approach.

Once you finish up to 75 mini projects, start “cloning” games, but dont release them to the public, they might start yapping at you for it.

You want to decompose to smaller parts, for example if you want to use parameters for functions, search up how parameters work, and then write it in your own code.

WRITE IN YOUR OWN CODE, DON’T COPY

Thank you, and goodbye.

16 Likes

Another recommendation I would add to this is look at something else someone made that you feel confident enough you could remake the process of it, without reading it.

Essentially reverse engineering, watch how exactly it functions, and attempt to recreate it without actually reading it’s code! Being able to see the input and output, and being able to estimate what happens in the middle is a very strong skill to have.

And, then when you think you’ve finished: actually read the other project’s code. See what they’ve done and compare it to yours. What does theirs do that yours doesn’t? Is theirs more performant? What could you of done differently now that you know exactly what was going on?

2 Likes

I will add this with the next edit, I do utilize this technique too, but in a different way, thank you for replying.

2 Likes

Amazing resource nonetheless! So many people are interested in getting into programming but find it hard to actually start, it’s primarily just a tutorial hellscape, providing information for those to jump start their adventure is always a good thing!

1 Like