Your analogy is a bad one, what your trying to learn to begin with is how to build the roof, so it makes sense to start with the basics. If all you want is a roof, go ahead and take a game already made and mod it.
Yes, missing fine details like how to smelt your own steel when all you want is a roof over your head.
So I shall clarify, code reuse is useful.
However, if you don't understand what the code is doing in the first place your at a serious disadvantage. Sure you can reuse a red-black tree implementation, but if you don't even know what it is doing or the complexity requirements you probably shouldn't even be using it.
If your using an animation library that uses quaternions for rotations, and don't even know basic quaternion mathematics how can you possibly hope to make your game work?
Understanding how to implement such things is important. C# abstracts most of this away so that you don't even have to think about it, this is the wrong way to learn.