Computer Science Colloquium: A Jupyter Notebook using a Python Program to Reason about Curricular Completion Plans

March 06, 2020

Department of Computer Science
Colloquium Series 2019-20

Monday, March 11, 2020, 3:00 PM, RB 104

A Jupyter Notebook using a Python Program to Reason about Curricular Completion Plans

Paul Buis

Associate Professor of Computer Science, Department Chair of Computer Science

Abstract: We will look at the Jupyter Notebook system which has become popular in Data Science as a way of presenting both code and the resulting visualizations. While Juptyer Notebooks may use any of a fairly wide variety of interpreted language systems for which compatible kernels have been developed including Java, JavaScript, C, C++, C#, Swift and R, Python is the most commonly used language with Juptyer Notebooks.

We will be using the Python kernel in Juptyer to generate Scalable Vector Graphics (SVG) visualizations of Directed Acylic Graphs (DAGs): specifically, dependency graphs arising from the prerequisite relationships between courses in a curricular program such as a college major.

We will then use these graphs as part of a constrained scheduling problem: find an example assignment of courses to semesters that:

· meets the prerequisite requirements,

· fulfills the curricular requirements,

· minimizes the number of semesters required,

· limits the number of credits being attempted in a semester,

· assigns those courses to semesters in which it is expected they will be offered.

We will model the algorithm after the Critical Path Method used in project task planning software and labels each course/task with a priority, assigning it to a partition in an equivalency classification of topologically ordered course/tasks.

Such software has several interesting use cases, including:

· Verifying that a given curriculum, including transfer articulation programs, can be completed in the desired time frames. For example:

o Can a Ball State CS major complete a BS in 3 years? Under what conditions?

o Can a student complete the standard articulation plan for an associate’s degree in CS from Ivy Tech in 2 years and then complete BS with a major in CS in 2 years?

· Assisting advisors in creating degree completion plans for students who are:

o Completing more than a single major: multiple majors and/or one or more minors.

o Transfer students

o No longer on the standard path for incoming freshman because they did not fulfill one or more course pre-requisites in the expected semester.

Share article to: