The advice we always give to people regarding puppies is to keep their freedoms to a minimum at first. Control practically everything they do to start off with and as they learn the rules give them a little more space.
This rule works with everything from toilet training (keeping them in a crate most of the time in the first few days letting them out regularly so they learn to be clean within that small area, then give them more space/freedom as they get older and better trained) to walks (starting off on a short lead, then long flex line then off lead as they get more reliable with recalls).
That way you can get the right balance of help from you and sense of responsibility from them within a managed learning curve type structure. It also allows you to control and correct the mistakes they will inevitably make safely.
It works for us, anyway