As class-sizes grow in computer science, the personal attention received by students tends to diminish. This work aims to replicate small-class community effects within a large class by creating "micro-classes"-small groups within the large class. These micro-classes consist of 20-30 students led by graduate teaching assistants and undergraduate tutors who are specifically trained in small-classroom instructional techniques. This paper studies the outcomes of the micro-classes framework in an upper-division data structures course and compares them to outcomes from the same class taught in a large lecture, active-learning format. Students report increased satisfaction and a higher perception of community in the micro-classes section, though there was no discernible difference in student academic performance.