Collaborative Programming as a Didactic Learning Strategy in CS1 Courses | IEEE Journals & Magazine | IEEE Xplore