Pair programming is a collaborative learning mode to foster novice learners’ computer programming. Previous empirical research has reported contrasting conclusions about the effect of pair programming on student learning. To further understand students’ pair programming, this study uses a mixed method to analyze three contrasting pairs’ collaborative behaviors, discourses, and perceptions from a multi-dimensional perspective. The analysis results show that the high-ranked student pair is characterized as the interactive, socially-supportive, and goal-oriented pair; the middle-ranked student pair is characterized as the highly-interactive, socially-supportive, and process-oriented pair; and the low-ranked student pair is characterized as the lowly-interactive, socially-unsupportive, and programming-distracted pair. The research reveals complex relations between collaborative behaviors, discourses, and performances, which have critical influences on students’ pair programming quality. Based on the results, this research proposes pedagogical, analytical, and theoretical implications for future instructional design, learning analytics, and empirical research of collaborative programming.