Peer learning principles have been successfully applied to novice programmers. Pedagogies such as Pair Programming, Peer Testing, Peer review of code or tests, or, more generally Peer Instruction, have repeatedly demonstrated their effectiveness in improving both individual performance and retention rates. This paper proposes to supplement the existing literature by investigating how students interact with one another during collaborative programming tasks. More specifically, we are interested in comparing the learning principles used during student-student interactions with those used during studentinstructor or student-teaching assistant dialogs. Students in online and face to face courses, who worked collaboratively on programming assignments, were surveyed to gain an understanding of the frequency with which they engaged in specific activities. These that are representative of the learning principles that have been supported by research to promote learning. Results suggest that some learning principles, may be absent from student-student interactions. We discuss how the success of collaborative programming pedagogies put into question the role of these principles and whether they may contribute to further improve peer-based approaches.