1. A method of clustering a plurality of students, the method comprising: receiving, by a computing device, assessment data for each of a plurality of students, wherein the assessment data comprises information pertaining to each of a plurality of questions in an assessment; receiving, by the computing device, a number of clusters into which to organize the plurality of students, wherein receiving a number of clusters comprises: determining a plurality of sets of clusters using an iterative hierarchical clustering algorithm, wherein each iteration of the hierarchical clustering algorithm results in each set of clusters comprising at least two clusters such that each set of clusters comprises assessment data pertaining to two or more students of the plurality of students, determining iterative error values for each set of clusters during each iteration of the hierarchical clustering algorithm, determining a total error value based upon a summation of the iterative error values, and automatically determining the number of clusters based on the total error value; determining, by the computing device, a similarity value between each pair of students in the plurality of students based on the assessment data associated with each student; and organizing, by the computing device, the plurality of students into the number of clusters based on the similarity values.