Not quite yet. Proprietary learning technologies have a spotty track record. Web without a weaver. Lessons without an authoring system. Every good work of software starts by scratching a developer's personal itch.
Good programmers know what to write.
While I don't claim to be a great programmer, I try to imitate one. An important trait of the great ones is constructive laziness. They know that you get an A not for effort but for results, and that it's almost always easier to start from a good partial solution than from nothing at all. Or, to put it another way, you often don't really understand the problem until after the first time you implement a solution. The second time, maybe you know enough to do it right.