I did teach a 6 week C++ course. Mostly attended by CS students at the local college. Back in the day we didn't teach kids how to code in a CS cirriculum. They were expected to just pick it up themselves. Six weeks really isn't enough to teach how to be good at C++.
I spent a fair amount of time reading Papert and Piaget, trying to develop a theory on how people learn and how to best teach "programming" concepts. I've yet to see ANYONE (myself included) do an excellent job teaching the kind of programming employers want. I saw another comment here about how "programming" is simple, but teaching architecture and putting things together is hard. I would mostly agree with that.
But... there are some techniques that are better than others.
My experience w/ Lambda School was they tried to hire me as an instructor way back when. I talked to them briefly about pedagogy and their approach to modeling learning and how they were going to measure improvements in their cirriculum. I got blank looks. They kept harping about how they were going to iterate, but without the slightest idea how they were going to improve between iterations.
I quietly walked out the door never to return (moving to Seattle to work for Amazon instead.) It looks like I made the right call.