Using flipped classroom, peer discussion, and just-in-time teaching to increase learning in a programming course | IEEE Conference Publication | IEEE Xplore