In my own experiences at school and watching kids since then, I know that when you work hard on a large complex project that involves producing something real, it's much more motivating and lasts longer in your memory than discrete facts and skills. We all need basic skills in order to accomplish more complex understandings and perform integrative tasks. There are kids who struggle with these skills and they need extra help with them. Unfortunately some of these kids fail to master the skills even with many years of work. And that ends up being all that we focus on with them.
Intervention is necessary.
In theory a computer could do the necessary teaching but, most of the time, the sort of feedback offered by tutorials is not sophisticated enough. Human intervention is generally important. Students don't self-teach. Software can be used to help automate skills kids have already begun to learn. It can also be used to motivate kids to work on skills.