In face-to-face teaching, students work in pairs on programming exercises and present their solutions to tutors. This setting fosters social skills. Students benefit from immediate feedback loops and personalized explanations. However, with an increasing number of students, it becomes challenging to scale this approach to very large courses due to the logistic and organizational effort. In this paper, we first report on significant challenges that we identified while conducting face-to-face teaching in a software development course with more than 600 students and 50 tutors. Second, we introduce a preliminary socio-technical framework for face-to-face teaching to facilitate logistical aspects, monitor the students exercise progress, and improve the students’ learning experience.