One important thing that defines your academic experience is the size of your classes. A class that is too big prevents the professor from getting to know his/her students – that means that the professor can’t adapt to the needs of the current students and is relegated to running the same class no matter who is in the room. A class that is too small can become intimidating and make it difficult for discussions with a wide variety of opinions to happen. This means that students are limited in the way they participate and may not be fully engaged in the experience. Our goal is to keep our classes small enough that the faculty member knows how every student is performing, but big enough to support rich debates and thorough participation.
Given that goal, the actual size of the class depends on the type of class and the activities it requires. Most of our classes are a combination of lecture and lab activities. Those classes are always limited to a maximum of 32 students because that is the size of our largest computer classroom. Some classes (graphics and computer engineering in particular) require more specific equipment and may be limited to 26 student (because our high performance lab has 26 computers). Some of the computer engineering courses require access to our Computer Engineering laboratory in addition to the high performance computing lab. These classes are limited to 20 students.
So, in general, our lower division courses are limited to 32 students (and average about 25 per class) and our upper division courses are limited 20 to 32 students though some run with as few as 10 students.
There is one exception to these averages because learning to program is a challenging activity. Our Computer Science I class, where all of our students start their freshman year, is not structured as one class. We wanted to be very careful that, when students are working on programming in class, the room was never too full for a faculty member to be available to everyone. Therefore, we divided Computer Science I into two parts: a lecture and a lab. The lecture is three hours and is run in a lecture hall. The goal of the lecture is to teach the students the content of the course and model the skills they will need to complete the lab activities. The lab portion of the course is also three hours long and is run in one of our computer classrooms. The goal of the lab is for the students to develop the analysis and programming skills that they will need to succeed. This is the time when mentoring by a faculty member can be critical to the students’ success. Therefore, the lab sections are limited to 20 students even though they are lower division courses. This way the faculty member can learn the strengths and weaknesses of each student and guide them through learning the appropriate skills. In addition to teaching programming, in the lab, the students work on reasoning skills, study skills, time management skills, and working though the transition from high school to college.