ddxtanx / ClassGraph

Final project for data structures class that prints out dependecy graph given a prerequisite chain

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

davidm12-gcredi2-lzefran2

Note: Presentation is located in the Youtube Link in the root directory.

How to run our code:

  1. Open a terminal to the root directory of our repository: davidm12-gcredi2-lzefran2

  2. Type < make > to compile the main user code (not specific test cases)

  3. To run our algorithms (BFS, Betweeness Centrality, and Layered Graph Drawing), type:

     ./project   < Filepath to Data set >    < "Course name and number" >
    

    Examples:

         ./project ./Courses-and-prereqs/STEM_courses.dat "CS 225"
    
         ./project ./Courses-and-prereqs/AllPrereqs.dat "ECE 391"
    
         ./project ./Courses-and-prereqs/TestData.dat "ADV 101"
    

    *NOTE: The course name must be in all caps, and any invalid course name will result in undefined behavior. Follow examples above and check data folder for more examples

  4. The output of all algorithms are stored in the ./Outputs/ folder

     /Betweeness_Full_File           output of the betweeness centrality test on the whole graph
    
     /BFS_Full_File                  output of a BFS iterator that traverses every course in the whole graph
    
     /BFS_From_Course                output of a BFS iterator starting at the user defined course in command line arg
    
     /Layered_Graph_Drawing.png      is the image output of the LGD algorithm
    

How to run tests:

  1. Open a terminal to the root directory of our repository: davidm12-gcredi2-lzefran2

  2. Type < make test > to compile the specific test code

  3. To test our algorithms (BFS, Betweeness Centrality), type:

     ./test
    
  4. The output of all tests will be in the terminal, using CATCH

Location of important code files: (foo/ indicates the whole folder "foo" is dedicated to listed algorithm)

Parsed Data:

Courses-and-prereqs/

dataConvert.h

dataConvert.cpp

Graph Structure:

Graph/

ClassGraph.h

ClassGraph.cpp

dataConvert.h

dataConvert.cpp

utils.h

utils.cpp

BFS:

Davids_Work/

Betweeness Centrality:

Graph/Graph.h

Graph/Graph.cpp

Layered Graph Drawing:

LGD/

Stickers/

Output Data Files:

Outputs/

About

Final project for data structures class that prints out dependecy graph given a prerequisite chain


Languages

Language:C++ 99.4%Language:Makefile 0.6%