Classes are configured in classes.xml. Class data is in classes.xml and classes.csv. CSV class:student associations are in class-students.csv.

A class has a primary key, a name, a book, a classroom, a teacher, and students. It also has a foreign key to semester, used by CSV output to represent the 1:N relationship between semesters and classes.

A class's name and book name are generated simply by concatenating the string class or book with an integer. Classroom and teacher are chosen randomly from the collections named classrooms and teachers.

If there are 10 students per class, 10 classes per semester, and 10 semesters, then there are 1000 students across all classes. A collection of students is configured in students.xml. If this collection has 300 students, then a student takes 1000/300 or just over 3 classes on average.

Classes and students represent a M:N relationship. This can be seen in the XML data by looking at the data file classes.xml. For example, class1 has Noel Stout and Gene Lyons; Noel Stout is also in classes 39 and 89. This can also be seen in the CSV data, in class-students.csv. For example the class whose pk=1 has 10 students; the student whose pk=240 is also in classes with pk=58 and pk=80.