I use a flipped, learner-centered, approach to teaching both of these classes, because I think that learning to program has very little to do with me talking and a lot to do with students working on computers. Flipped classes work well for all kinds of content, but I think they work particularly well for computer oriented classes. If you’re interested in knowing more take a look at this great info-graphic:
Created by Knewton and Column Five Media