delay_factor {CurricularAnalytics}R Documentation

Calculate delay factor

Description

A helper function for calculating the delay factor for each node and the total delay factor of a curriculum graph.

Usage

delay_factor(node_list, edge_list)

Arguments

node_list

Dataframe with an 'id' column for each node and a 'term' column specifying which term the course is to be taken in.

edge_list

Dataframe with two columns 'from' and 'to' specifying directed edges starting at 'from' nodes directed towards 'to' nodes. Entries must use node ids from node_list.

Details

The delay factor of a course is the longest path the nodes finds itself on. More formally the delay factor of a node v_k is given by

d_c(v_k)=\underset{i,j,l,m}{max}\left\{\#\left(v_i \overset{p_l}{\to} v_k \overset{p_m}{\to} v_j \right)\right\}

The delay factor of an entire curriculum graph G_c is defined as

d(G_c)=\sum_{v_k \in V}d_c(v_k)

Value

A list that contains the following:

bynode

A dataframe containing the delay factor of each node

total

The total delay factor of the curriculum graph

Author(s)

Daniel Krasnov

References

Heileman, Gregory L, Chaouki T Abdallah, Ahmad Slim, and Michael Hickman. 2018. “Curricular Analytics: A Framework for Quantifying the Impact of Curricular Reforms and Pedagogical Innovations.” arXiv Preprint arXiv:1811.09676.

Examples

edge_list <- data.frame(from = c(1, 3), to = c(3, 4))
node_list <-
data.frame(
 id = 1:4,
 label = c("MATH 100", "DATA 101", "MATH 101", "MATH 221"),
 term = c(1, 1, 2, 2)
)

df_list <- delay_factor(node_list,edge_list)
print(df_list)
# Output:
# $bynode
#   id df
# 2  1  3
# 3  2  1
# 4  3  3
# 5  4  3
# $total
# [1] 10

[Package CurricularAnalytics version 1.0.0 Index]