In a collaborative directed study, an engaged student undertook the task of programming a simple graph theory toolbox in the open source programming language Octave. That software was then made openly available for educational use. Insights in to preparation, licensing, distribution, and improvements will be shared along with some learned best practices.
4. Project Design
● Choose an FOSS programming language. (Both)
● Build a graph theory toolbox for that language. (Amanda)
● Toolbox code must be: consistent, commented, easy to read, and efficient.
(Amanda)
● We would determine a license for publication. (Jon)
● Make the software publicly available according to the license. (Jon)
#MAASE18
6. SLOs
Ms. Olsen would:
1. Demonstrate improved programming skills via a graph theory toolbox.
2. Build several standard graph theory operations in the Octave/MATLAB
framework.
3. Solve at least one problem using her improved skillset and software package.
#MAASE18
7. Example and Code
● Example: Airline travel
● Create the data structure for a graph.
● Set (and unset) edges in the adjacency
matrix.
● Test the graph completeness.
● Save and load a data structure containing
the graph.
● Find the shortest path in the graph.
#MAASE18
9. What Followed
● Published in the LaGrange College
Citations undergraduate research journal.
(2010)
● Downloaded (by request) from people at
other institutions. (Medicinsk Teknik in
Sweden)
● GitHub:
https://github.com/jernstberger/OctaveGT
#MAASE18
10. Conclusions
● There is currently no progress being made on this package.
● A student became a better programmer while becoming more proficient with a
new (to her) mathematical interest.
● A few people not at LC have found the tool to be useful!
● The toolbox is publicly available at GitHub.
11. References
● West, D. (2001). Introduction to graph theory (2nd ed.). Upper Saddle River,
N.J.: Prentice Hall.
● Octave Graph Theory Toolbox Amanda M. Olsen April 27, 2010. N.D.
http://home.lagrange.edu/jernstberger/research/OctaveGT/octave_research_
paper_ud.pdf
#MAASE18
Hinweis der Redaktion
Student, Amanda Olsen
REU at NC State as a sophomore and learned to love mathematics and programming.
2nd REU at Rutgers University that focused in graph theory.
She need and independent study and suggested computational graph theory. Fall 2009/Spring 2010.
We had considered C, Python, R, and Octave but this won the result. We teach a Programming in MATLAB for the Sciences Course and so she had this experience in the background.
“Largely compatible ith MATLAB”
Settled on the D. West “Introduction to Graph Theory” text as the definitive text to base definitions and ideas.