Class Hierarchy At University of Illinois Urbana-Champaign

Part of the Senior Thesis of Alec Mori, B.S. '16, Computer Science

Advised by: Wade Fagen-Ulmschneider and Cinda Heeren


Every class at The University of Illinois at Urbana-Champaign (UIUC) is listed in the Course Explorer. As part of the course listing, many courses have prerequisites. This project examines the structure of courses, based on their stated prerequisites, across all courses at UIUC for the Spring 2016 semester.

Understanding the Visualization

Each circle denotes a single course.
Each color denotes a single subject.
Closely related subject areas have similar hues.
Every subject has a unique color.
The radius indicates the number of courses that list it as a prerequisite.
A larger circle denotes the course is a prerequisite to more classes.

Different Departments - Different Structures

Most of the graph is dominated by the giant structure in the middle, where Math, Physics, Statistics, and Chemistry lie at the heart with fields like Engineering, Computer Science, Psychology, and Economics as appendages. It's interesting to compare that to the fine arts or liberal arts courses, which tend to be less co-dependent. Note that these following graphs come from Fall 2015-Spring 2016, unlike the above graph.

Statistics, Physics, and Computer Science


In this graph, I chose to visualize Statistics, Physics, and Computer Science. Even in these few departments, we can see some inter-departmental dependency (CS 574 (Randomized Algorithms) uses information from STAT 400 (Statistics and Probability I)). Additionally, outside of a few limited classes (mostly independent studies), almost all classes within a department are dependent on one another. Thus, the material from one class tends to propagate forward through other classes in the department.


  • CS 225: Data Structures has the most dependencies, where 16 other courses list CS 225 as a prerequisite.
  • 294 courses are part of 79 unique clusters, making the average cluster 3.72 courses large.
  • The longest sequence of courses entirely contained within this graph is 7 courses long:
    1. CS 125: Intro to Computer Science
    2. CS 173: Discrete Structures
    3. CS 225: Data Structures
    4. CS 233: Computer Architecture
    5. CS 421: Programming Languages & Compilers
    6. CS 426: Compiler Construction
    7. CS 526: Advanced Compiler Construction

The Fine Arts


For fine arts, I chose to look at Music, Dance, and Theater classes. Even though there are several dense thickets of course dependency, we see that for many more classes that do not require any knowledge from other classes within the major. Additionally we tend to see more clusters amongst the interdependent classes; although there are several groups of courses that are interdependent in these fields, there is not a single class upon which the rest of the department is dependent. For example, THEA 170 (Fundamentals of Acting), THEA 125 (Graphic Skills), and THEA 208 (Dramatic Analysis) all are the basis for many more classes, but each thread of classes they spawn are completely independent.


  • THEA 378: Acting Studio II: Acting has the most dependencies, where 8 other courses list THEA 378 as a prerequisite.
  • 462 courses are part of 298 unique clusters, making the average cluster 1.55 courses large.
  • The longest sequence of courses entirely contained within this graph is 8 courses long:
    1. THEA 170: Fundamentals of Acting I
    2. THEA 175: Fundamentals of Acting II
    3. THEA 270: Relationships in Acting I
    4. THEA 275: Relationships in Acting II
    5. THEA 374: Acting Studio I: Acting
    6. THEA 378: Acting Studio II: Acting
    7. THEA 474: Acting Studio III: Acting
    8. THEA 478: Acting Studio IV: Acting

The Liberal Arts


The liberal arts (here represented by English, History, and Law) are by far the most disjoint the departments. Besides a few instances of "Some Subject I" and "Some Subject II," almost all of the courses within these departments are completely independent. One class's material will seldom be the basis for another class.


  • ENGL 200: Intro to the Study of Lit has the most dependencies, where 4 other courses list ENGL 200 as a prerequisite.
  • 284 courses are part of 267 unique clusters, making the average cluster 1.06 courses large.
  • The longest sequence of courses entirely contained within this graph is 4 courses long:
    1. HIST 200: Intro Hist Interpretation
    2. HIST 495: Honors Research & Writing Sem
    3. HIST 499: Thesis Seminar
    4. HIST 493: Honors Senior Thesis



These are all language departments across UIUC. The interesting thing about this is how much more it resembles the fine arts than the liberal arts despite being in the college of LAS. However, despite mirroring the fine arts in terms of structure, most of the components are separated into individual departments rather than some small track of a larger department.


  • FR 207: Grammar and Composition has the most dependencies, where 4 other courses list FR 207 as a prerequisite.
  • 444 courses are part of 198 unique clusters, making the average cluster 2.24 courses large.
  • The longest sequence of courses entirely contained within this graph is 9 courses long (the last one is graduate-level, but you better get started freshman year!):
    1. SPAN 122: Intensive Elementary Spanish
    2. SPAN 103/130: Intermediate Spanish
    3. SPAN 141: Introduction to Spanish Grammar
    4. SPAN 204: Advanced Spanish Grammar in Context
    5. SPAN 228: Spanish Composition
    6. SPAN 250: Intro to Literary Analysis
    7. SPAN 312: Modern Spanish Lit & Cultures
    8. SPAN 465: 20th-21st C. Spanish Studies
    9. SPAN 528: Sem 20th C. Spanish Lit



In this matrix, we can see how much each engineering major depends on other sciences (I included Computer Science as as science rather than an engineering here). The color of the squares were darker depending on how many courses within the engineering department depend on a class within the science department. A few interesting trends emerge - for instance, despite the fact that the most people conclude engineering is based around Physics, it seems like traditional Physics is not the baseline for most engineering at UIUC. Theoretical and Applied Mechanics, which uses Physics but is distinctly different than the scientific traditional version, seems to be the basis for more of the engineering. Although Math is unquestionably at the core of several of these departments, it's interesting to see Mechanical Engineering, Aerospace Engineering, and several other disciplines complete ignore Statistics despite topics such as Thermodynamics relying so heavily on it.

Longest Class Chain


The large dots here form one of the longest series of classes that exist at UIUC. Starting at the red dot, they are MATH 112, MATH 115, MATH 220, MATH 231, MATH 241, TAM 210, TAM 211, TAM 251, CEE 380, CEE 483, CEE 484, and CEE 580 (Algebra, Preparation for Calculus, Calculus, Calculus II, Calculus III, Introduction to Statics, Statics, Introductory Solid Mechanics, Geotechnical Engineering, Soil Mechanics and Behavior, Applied Soil Mechanics, and Excavation and Support Systems). That means if you wanted to take CEE 580 as an undergraduate, you would need to enter this school with at least MATH 231 credit, carefully planning your classes each semester to reach CEE 580 in your last semester senior year.

Each small dot represents a class that in some way depends on MATH112.