Skip to content

Tag: Graphviz

GWU Computer Science Graduate Classes Graph

In order to help me to take decisions about which class to take every semester I did a web scrapping from the graduate and undergraduate bulletin. For every class I could get classe name, prerequisites, credits, teacher, program, description, etc, in a formated tabular document.

Using Python CSV library I could read the tables and parse the data to other formats. One format very useful to handle graph structures is the DOT language script (included in the Graphviz project), in which you can describe both the graph structure and the elements of the graph layout.

Here is the Python source-code to convert the tables to graphs at Github.

The final result (click to view in full size):

Limitations and comments:

  • Prerequisites are only displayed using AND logic. It’s not showing other logics as OR (equivalent classes).
  • Errors may exists due to the scrapping process, conversions, or in the errors in the original source.
  • In the sources there is also a function to convert the graph in Dracula (a JavaScript interactive graph representation) but the current result is too tangled.