Curriculum Optimization ProjectCurriculum Optimization Project
CURRICULUM REFORM MEETING
California State University, Los Angeles
Kevin Byrnes
Dept. of Applied Math
Johns Hopkins University
Project GoalsProject Goals
1) Topics grouped into courses should be closely related
2) The curriculum should allow flexibility
3) The new curriculum should be completable in the same time needed for the current one.
Model of the Problem as a Model of the Problem as a GraphGraphTopics correspond to vertices
(nodes)Directed edges correspond to a
direct prerequisite relationship between topics
A Shortest PathA Shortest Path
The length of a shortest (undirected) path between two vertices A and B in a graph is the minimum number of edges one must traverse in the graph to get from vertex A to vertex B.
From Topics to CoursesFrom Topics to Courses
One idea: Identify “seeds” for a fixed number of courses, then try to assign each topic to a seed/course.
We can estimate the number of seeds we want by the number of courses currently in the curriculum.
How to identify seedsHow to identify seeds
The most important topics are those which have edges coming from and going to many other courses. Why not identify the N vertices in our graph with the largest number of incoming and outgoing edges?
(Idea due to Kleinberg)
Goals in Constructing a CourseGoals in Constructing a Course
We would like to assign each topic to its nearest seed (course) for intellectual cohesiveness (goal #1)
We’ll have some constraints, however: 1) Every topic should be assigned to a
course. 2) The resultant number of credit hours
for a course should be bounded.
Variables for IPVariables for IP11
xij = 1 if topic I is assigned to course j, 0 otherwise.
ci = the estimated number of credit hours needed to teach topic I
tij = the length of the shortest undirected path in G from topic I to seed j
lb = lower bound on credit hours for a course ub = upper bound on credit hours for a
course
Explanation of ConstraintsExplanation of Constraints
1) and 3) together guarantee that each topic is assigned to a course
2) bounds the number of credit hours for any prospective course
OF1 attempts to assign each vertex to its closest seed (aka assign each topic to its ‘nearest’ course)
Interpreting the OutputInterpreting the Output
The output from IP1 is a doubly-indexed vector xij (aka. a matrix). We can interpret this output as a set of courses {S1,…,SN} as follows:
Sj = the set of xij for which xij = 1
There & Back:There & Back:Cycling and Other DangersCycling and Other Dangers
Determining PrerequisityDetermining Prerequisity
Simple Method: If topic Sag in course Sa is a prerequisite for topic Sbh in course Sb, the course Sa is a prerequisite for course Sb
Some DifficultiesSome Difficulties
We may encounter some difficulties with the Simple method, such as having one relatively small topic as a prerequisite forcing a student to take an entire prerequisite course. This could result in many ‘prerequisite’ courses with little or no relation to one another.
An Alternate MethodAn Alternate Method
Test for Prerequisity: For two courses Sa and Sb, sum all the credit hours of distinct prerequisite topics in Sa, and distinct topics in Sb having topics in Sa as prerequisites. If both of these sums exceed some threshold values, then Sa is a prerequisite for Sb.
Another Pitfall: Directed CyclesAnother Pitfall: Directed Cycles
A directed cycle in a graph is a group of vertices, say A, B, and C, such that there is a directed edge from A to B, a directed edge from B to C, and a directed edge from C to A
One such example would be three courses that are mutual prerequisites
The Feasibility ConditionThe Feasibility Condition
For any course Sb, having course Sa as a prerequisite, Sb must be assigned to be taught during a semester no earlier than Sa
Identifying Core CoursesIdentifying Core Courses
Having our set of courses, S1,…,SN from IP1, we would like to identify which of these constitute the ‘core’ of our curriculum. There are several ways to do this.
1) Have a panel of experts examine the output of IP1 and look for ‘natural’ candidates.
2) Create an ‘essentiality’ index for courses.
Putting It All Together:Putting It All Together:Generating a CurriculumGenerating a Curriculum
Goals for the CurriculumGoals for the Curriculum
We wish to attain goals 2 & 3 of the introduction. That is, we wish to create a flexible curriculum that can be completed in the same amount of time as the one in place. We also face some constraints
1) Each core course must be taken 2) The number of courses assigned per
semester must be bounded 3) We want to avoid assigning mutual
prerequisites in different semesters
How to Construct the CurriculumHow to Construct the Curriculum
We’ll create the curriculum from the courses by assigning each required course to a semester to be taught. Then, we shall penalize any curriculum that assigns mutual prerequisites to different semesters
IPIP22 variables variables xij = 1 if course Si is assigned to semester j, 0
otherwise. ai = the expected number of credit hours it will
take to teach course Si
Xij denotes the decision variable for a required course
lj and uj are the lower and upper bounds for the amount of credit hours to be assigned during semester j.
Epsilon is the upper bound on the number of courses to be offered during a single semester.
The PenaltyThe Penalty
v = the measure of how much a proposed curriculum violates the Feasibility Condition. If a proposed curriculum violates this condition noticeably, v should be large and positive
Alpha is a positive constant
Explanation of ConstraintsExplanation of Constraints
1) defines dj as the sum of credit hours assigned to courses assigned to semester j
2) and 6) state that all required courses must be assigned to a semester, while 3) and 6) state that every elective is assigned to at most one semester
4) bounds the number of credit hours assigned to a semester above and below
5) bounds the number of courses assigned to a semester
OF2 minimizes the max over the number of credit hours assigned to each semester, and the penalty term
Output From IPOutput From IP22
IP2 gives us an optimal scheduling of courses for a specified value of alpha, epsilon, lj, and uj. Letting alpha go to infinity, we can strictly enforce the Feasibility Condition as a necessary one, but setting it as a penalty enables us to initialize IP2, and examine unsatisfactory prerequisite relationships in the optimal output
Where Do We Go From Here?Where Do We Go From Here?
The Next StageThe Next Stage
Implement the methods outlined and develop the first curriculum to evaluate them
Develop a computer program or efficient math code (ie. Matlab) to allow partner institutions to easily generate new curricula
Write a methods paper explaining the models used in greater detail
ReferencesReferences
Variable and Value Ordering When Solving Balanced Academic Curriculum Problems
C. Castro and S. Manzano (2001)