A Decision Support System for Undecided and Exploratory Students

Choosing a major can be a difficult choice for undeclared students, depending on personal interests, job markets, program costs, and the complexity of graduation requirements. The current procedure for exploring possible majors/minors involves a tedious and time-consuming exploration of static data presented in a convoluted format. This work considers the complexity of degree requirements and presents the design and implementation of an efficient decision support system (DSS) for exploring majors and/or minors. The DSS presents a tool that enables college students to map their already completed courses to degree requirements and then view the majors/minors that yield the shortest path for graduation. Secondly, the DSS system provides data visualization tools to assist students in selecting courses that satisfy the remaining requirements of a selected major/minor.


Introduction
It is estimated that 20 to 50 percent of students enter college in the U.S. as undecided or undeclared, without having decided on a focus for their studies, and more than 50 percent of students change their major at least once before graduation (Gordan & Steel, 2015). There are many reasons for the indecision of college students, including decision-making difficulties, gender differences, cultural differences, indecisive students, and types of career indecision (Soria & Stebletin, 2013). Many undecided students are skeptical about how their personal strengths and limitations relate to coursework required in particular majors. Furthermore, choosing a major may depend on personal interests, job market, program cost, or the complexity of graduation requirements (Pozzebon, Ashton, & Visser, 2014). Many students make initial choices based on their interests but change their majors because of changing career interests or academic interests (Bullock-yowell, McConnell, & Schedin, 2014).
The key to graduating in four years is choosing a major early and sticking with it. If undeclared students take too long to declare a major, then it may affect their intended graduation date. In addition, changing majors may keep students in college past their intended graduation date and drive up their debt. Hence, higher education institutions have prioritized supporting undecided students with their major and career decisions. Wang and Orr (2019) used data analytics to inform decision-making in academic advising and support undecided students' academic success. Halasz and Bloom (2019) examined the resources students identified as most valuable and the factors most influential in their decision to transition out of selective majors. Streufert (2019) investigated the effects of alternative advising, such as coping with loss, managing anxiety, and restoring self-efficacy, on renewing focus of undeclared students so that they stay focused and graduate on time. Marade and Brinthaupt (2018) examined reasons for students to change a college major. Iyer and Variawa (2019) used supervised Machine Learning classification algorithms to analyze the potential inclination of the undecided/undeclared first-year engineering students at the University of Toronto. Glaessgen, MacGregor, Cornelius-White, Hornberger, and Baumann (2018) examined the challenges and experiences of first-generation undecided students transitioning to a new and unfamiliar academic environment. The relationship between academic major change and ten personality traits (the five broad and five narrow traits) was investigated in Foster (2017). Ongoing research explores different strategies that support undecided students in their major and career decisions. However, there is a dearth of degree planning for comparing different major/minor combinations. major is a difficult combinatorial optimization problem due to the complexity of degree requirements, prerequisite dependencies, and course rotation policies. Developing a mechanism to generate a set of feasible majors, depending on a set of completed courses and desired graduation date, is thus a complex problem that involves comparing a large number of possible degree paths.
Academic advisors are either faculty or professional advisors, and they use academic planning tools to help students plan their degree completion and make decisions about many other academic related activities. Academic Advising Report (AAR) or Degree Progress Report (DPR) is the official document used for advising and the information related to degree requirements, course schedules, and course prerequisites are stored in static documents or PDF files. Hence, it is a tedious and time-consuming process to compare requirements for different majors and a formidable task for undeclared students to choose a major so that they could graduate in a timely manner. The new generation of students are digital natives who expect advising resources to be online and available in a user-friendly format but it is a challenge to develop tools that can analyze student's progress toward completing degree requirements due to the complexity of degree requirements and prerequisite dependencies.
Degree requirements are tied to completing a set of courses or units satisfying the requirements. Some of the degree requirements may refer to additional constraints such as course level (lower-division vs. upper-division) or student's minimum grade point average (GPA). Additionally, some of the courses may not be available until a minimum number of units has been earned. Some of the academic institutions may count courses only once in the major or minor, either as a required course or as an elective, but not as both. There may be hidden prerequisites (i.e. prerequisites of a prerequisite course that may not be explicitly listed as a part of any other degree requirements). Furthermore, there may be additional conditions such as choosing major/minor emphasis areas. Degree requirements are often defined in terms of a set of course requirements that covers particular subjects or areas of expertise. Many courses list prerequisites that are defined using a list of courses, all of which or a subset of which must be completed successfully in order to satisfy the prerequisites. Furthermore, a few of the prerequisites may include constraints on course grades to ensure students gain the necessary proficiency for receiving the maximum gain from the next course.
Every existing academic planning tool is capable of evaluating and displaying only a single major/minor combination or double major combination. Since it is difficult to define a standard format for representing degree requirements, most of the existing academic planning tools use custom-made systems that are difficult to scale up. The current procedure for exploring possible majors/minors involves a tedious and time-consuming exploration of static data presented in a convoluted format. Degree requirements vary from department to department and from college to college, and information pertaining to requirements for different majors/minors is often scattered in various places.

Related Work
There has been an interest in designing interactive and visualization tools for academic advising. Marques, Ding, and Hsu (2001) presented a design and development of a web based academic advising system. Gutié rrez et al (2018) presented a design and implementation of a Learning Analytics Dashboard for Advisers, LADA, to support the decision-making process of academic advisers through comparative and predictive analysis. Moreno, Bischof, and Hoover (2012) presented an interactive visualization tool for exploring course dependencies between courses. Dechter (2007Dechter ( , 2009 introduced an integer linear programing model for finding academic plans that would satisfy a given set of graduation requirements and other constraints in the shortest possible time. Kowalski and Ealy (1991) used artificial intelligence to design an expert system for the advisement of two-year community college students. Horvth, Molontay, and Szab (2018) presented an efficient visualization tool to analyze student flow patterns to track retention and graduation rates. Kumar (2017) presented a prototype of a spreadsheet-based scheduling model to create individual graduation roadmaps.
Prerequisite visualization tools are extremely useful for preparing academic plans. Aldrich (2014) used the overall topology of the courses at Benedictine University to propose a directed acyclic graph for representing prerequisite relations where each edge represents a logical relationship such as all of or one of. Zucker (2009) presented a curriculum visualization tool for developing and arranging the flow of courses for a particular program. Chen and Siyuan (2017) presented an interactive course selection scheme with prerequisite hierarchy. Their work includes visualization of all of, one of, or either or logical relationships of courses offered at University of British Columbia. Samaranayake and Gunawardena (2020) introduced a graphical data visualization tool that enables students and advisors to easily understand course prerequisite structure and to readily determine paths that lead to the satisfaction of degree requirements.
There has been an interest in designing DSS for course planning. Siddiqui, Raza, and Tariq (2018) introduced a web-based group DSS for academic term preparation at a business college of a large Middle Eastern university. Roushan et al. (2013) presented a DSS for course planning. Miranda, Rey, and Robles (2012) developed a web-based DSS for course and classroom scheduling. Oladokun and Oyewole (2015) presented a DSS for university admission seekers. Al-Qaheri, Hasan, and Al-Husain (2011) presented a DSS for a course scheduler. Most of these decision support systems are designed for course scheduling. Meyer, Gunawardena, Samaranayake, Deshpande, and Premadasa (2021) presented an application of information technology in providing decision support in college planning.
The complexity of degree requirements, prerequisite dependencies, and user preferences make the automated degree planning problem an inherently hard combinatorial optimization problem. Due to its complexity, the present commercial degree planning systems have avoided automation and limited their features to semester by semester drag and drop course selections. Integer programming models to generate degree plans with simplified requirements have been proposed in Dechter (2007Dechter ( , 2009. Although these models are useful for calculating lower bounds for comparison, they are intractable for practical systems which deal with complex degree planning problems with various constraints and are expected to provide fast solutions. This paper will focus on identifying a data structure and a mechanism capable of evaluating degree requirements and then developing a DSS for exploring majors/minors. First, we identify possible degree requirement types and define a data structure that can represent such requirements. Then we create a DSS that helps students select a major along with the courses needed to satisfy additional degree requirements beyond those for the major. These additional requirements often include the selection and completion of a minor in a subarea and the completion of so-called general education (GE) requirements spread across a wide variety of topics.
To demonstrate the potential of the decision support system, we describe an implementation based on degree requirements and majors/minors offered at University of Wisconsin-Whitewater (UWW), a mid-sized U.S. public institution with about 11,000 students, which has 574 pages of course information and degree requirements covering more than 150 possible majors and about 120 possible minors. A student generally has a choice of focus areas within the major hence there are about thousands of different course sequences that meet requirements of a selected major at UWW. In addition to deciding upon and meeting the requirements of both a major and minor, a student wishing to complete a degree is faced with the challenge of selecting courses that meet general education requirements that specify the minimum number of credits needed in a variety of additional subareas, such as Communication Skills, Calculation Skills, Quantitative and Technical Reasoning, Cultural heritages, World of Ideas, Communities, Physical Health and Well-Being, and Racial/Ethnic Diversity.

Data Structure for Processing Degree Requirements
Many of the college degree requirements are expressed in terms of number of courses, units, or credits that must be completed to fulfill each requirement. College degree requirements are often expressed using one or more of the following conditions:  Complete a predefined list of courses.
 Complete a subset from a set of elective courses.
 Complete a specified number of courses from each of several lists of courses.
 Select a subset of lists and then complete a specified number of courses from each of the selected lists (e.g., select three of five course lists and then complete one course from each selected list).
 Complete a specified number of courses from a selected subset of lists (e.g., complete a total of three courses from at least two different sets).
 Complete courses with a specified total number of units from a list of courses.
 Complete a specified number of units from a selected subset of lists (e.g. complete at least six units from two different lists).
First, we define an appropriate data structure for evaluating degree requirements. A typical degree requirement belongs to one of the following categories:  Type A: complete k courses from a specified set of courses  Type B: from a specified set of courses, complete at least m courses/units, but no more than n courses/units will be counted toward major/minor requirements  Type C: complete at least k units from a specified set of courses  (2020) introduced a generic requirement structure, named basic requirement, that is able to represent most of the college degree requirements. In this work, we extend the definition of the basic requirement to represent almost any degree requirement found in a college catalog: Definition: A basic requirement is a 7-tuple (A, T, , , , , δ), where (1) A is a set of objects, (2) T is the type of requirement (Type 1: select number of objects; Type 2: select number of units; Type 3: combination of Type 1 and Type 2, etc.), is the lower bound of objects, is the upper bound of the objects, is the lower bound of the units, is the upper bound of the units (note that this upper bound is simply a limit on the number of units counted toward a particular requirement rather than a limit on the total number of units that may be taken with respect to a set of courses), and (7) * + is a function such that ( ) if A is a major/minor unit -counting set of objects and ( ) otherwise. (This function is used to prevent duplicate counting of units.) There may be other requirements that specify the minimum number of courses/units needed for a degree or in a subarea or for higher-level courses. These are called special requirements. , where ( ) is the number of units of .
Any set of degree requirements can be expressed using a set of basic requirements. Consider a set of requirements for a major/minor defined as follows: 1 : complete one of the courses or 2 2 : complete all of the courses 3 4 5 and 6 3 : complete 6 units from the courses 7 8 9 4 : Complete 6 -12 units with at least two units in 1 * 2 3+, at least three units in 2 * 4 5 6+, and one unit in 3 * 7 8+ The requirements 1 2 , and 3 are basic requirements and the requirement 4 may be expressed using a combination of basic requirements as

Exploring Major and Minor Paths
When choosing a major or a minor, a student would normally have completed some courses that may count toward satisfying requirements for some of the majors or minors. Now we define an efficient process for Let be the set of all courses, be the set of all majors, and be the set of all minors offered by a degree-granting institution. A major path is a minimal set of courses that satisfies all the requirements of a college major and a minor path is a minimal set of courses that satisfies all the requirements of a college minor. Let and { 1 … } be the set of all possible major paths for the major . It is possible to generate all possible major paths for the set of all the majors, , offered at a given institution. The process begins with identifying a matching set of possible courses ( ) that can play a role in completing the degree requirements and then exploring all possible major paths for each major ∈ . There are about 15,000 different course sequences that meet the Computer Science major requirements for a BS degree at UWW. Hence, there could be millions of possible major paths for the entire collection of majors so it would be a daunting task to create and maintain such a collection of possible major paths. Thus, we first describe a process for identifying the subset of that corresponds to the set of majors for which at least one requirement has been partially satisfied Let *( ) | ∈ ∈ + be the set of all ordered pairs that connect courses to majors in the sense that s appears in at least one major path of M. In many universities, a single department offers majority of the courses satisfying a given major. Some courses offered by a department are not part of any major while courses from a particular department may satisfy requirements of majors outside the department. Therefore, is a relatively small subset of × .
Let be a set of courses completed (taken/waived) by a particular student and *( ) | ∈ ∈ + be the subset of V that defines a mapping between the set of completed courses and the set of majors .

Let
* 1 2 … + be the set of requirements for the major ∈ where each requirement in is a predicate defined on a subset of . Courses in the set C may partially satisfy a subset of the requirements associated with the subset of and a subset of so that consists of majors accepting some or all courses in C and consists of minors accepting some or all courses in C.
Let * 1 2 … + denote the set of courses already completed by a specific student. Using the set , we can find an ordered list of majors * 0 1 2 … + where the course partially satisfies one or more requirements of each in . Then ⋃ =1 . Thus, we can easily identify the set for a given set of completed courses .
We now discuss the process for using completed courses to evaluate remaining requirements for majors in .
Suppose * 1 2 … + ∈ . Then the number of courses involved in the requirement ; the total number of units counted toward a requirement is ∑ ( ) * ( =1 ) * where ( ) is the number of units of the course ; and the total number of units counted towards completing the major is ∑ =1 where is the total number of requirements of the major . This calculation can be repeated for each major ∈ to assess all possible major choices for a given set of completed courses. 7 + Hence, we need to explore major paths of only the four majors in the set , instead of the major paths of set of all majors .
We use the same process for exploring possible major/minor combinations for each major ∈ . Some universities do not allow courses counted for a major to be used for satisfying minor requirements. Suppose is the set of courses which satisfy some of the requirements for the major ∈ . Then we can use the set \ to explore possible major/minor combinations.
There is usually a minimum unit requirement for graduation. We can use our calculations to calculate the minimum number of additional units needed for graduation with every possible major/minor combination:

Units required = Total units required -(Major units + Minor units + General education units)
Upon exploring possible major/minor combinations, we can generate a set of courses to complete the remaining degree requirements while minimizing the total number of additional units needed for each major/minor combination. Such a process allows us to produce the shortest path for graduation for an undeclared student.
The set of all ordered pairs that connect courses to majors needs to be computed only once and then needs to be updated with each curriculum change. Usually, curriculum changes occur only once or twice a year. Hence, it is a standard process to update the degree requirements and the set with every curriculum change. When we extract completed courses for a particular student, we use an algorithm to map completed courses to degree requirements to compute the set and then the set . The set consists of all the possible majors that would allow a student to complete the degree requirements in a timely manner. It is possible to find the major or majors that require the least number of units to complete.

Data Visualization Method
Major requirements, prerequisite conditions, and course rotations must be taken into consideration when planning courses for the completion of the degree. In general, prerequisites are completed/waived/transferred courses or test scores that must be completed before taking a specific course, and some of the prerequisites are tied to course grades and courses from other disciplines. Table 2 displays an example of the prerequisite conditions for a sample set of seven courses.

Courses Prerequisites
2 3, 4 with a grade of C or better 5 6 2 with a grade of C or better or 4 with a grade of B or better 7 2 with a grade of C or better or 3 8 7 or (C5 and 6), with a grade of C or better prerequisites for 8 are satisfied or to find the shortest path for satisfying the prerequisites, it would be extremely helpful if the prerequisite structure can be visualized using a directed graph.
We use an adjacency matrix of a directed graph ( ) to represent course prerequisite structure (CPS) where nodes ( ) represent courses and edges ( ) represent prerequisite relationships. Table 2 contains information needed to define an adjacency matrix of the directed graphs for the sample set of courses. Figure 1 shows a directed graph depicting the prerequisite structure described in Table 2.
Existing degree planning tools show CPS using static data structures similar to Table 2. It is extremely helpful if the course structure is displayed as a directed graph that can be dynamically updated using completed courses. We utilize novel visualization tools introduced in Samaranayake and Gunawardena (2020) to visualize CPS for degree paths.

Implementation
Degree requirements are often specified in terms of course offerings. Therefore, each requirement is stored in a database using an appropriate format suitable for our algorithms. In order to speed up the process, we have designed a suitable data structure for storing each type of basic requirement. We use a relational database to store degree requirements and course information. A set of completed/waived courses is needed to explore major/minor combinations. Figure 2 shows the architecture diagram of the DSS system.  The current implementation of the DSS is based on degree requirements and majors/minors offered at University of Wisconsin-Whitewater. First, completed courses are mapped to majors to identify the set . Then, requirements for each major ∈ are evaluated using the completed courses to produce the report in Figure  3. Figure 3 shows the assessment of a set of 38 courses completed at UW-Whitewater. The UW-Whitewater http://cis.ccsenet.org Computer and Information Science Vol. 15, No. 1;2022 8 database consists of 154 majors, 121 minors, and 3300 courses. Students must complete at least 120 units. Some of the majors require an approved minor. Courses counted toward the major cannot be counted for a minor. Students must satisfy general education requirements. In addition, some majors require students to complete a separate mathematics requirement. The output includes a set of possible majors and the number of possible majors. For each such major, it also includes a list of courses satisfying its requirements, courses satisfying the mathematics requirement, and the number of credits needed to complete the major.
In the sample execution, there are 44 possible majors in the set . The DSS also provides a mechanism to explore minors for those majors that require an approved minor. Figure 4 includes a list of possible minors if the student choses computer science general emphasis (BS) as the major. There are 26 possible major/minor combinations for the selected major. Furthermore, the DSS provides a mechanism for displaying progress with respect to the requirements for each possible major and minor. Figure 5 includes a list of requirements for the computer science major, general emphasis (BS). A green badge identifies requirements that are fulfilled. If a requirement is not yet fulfilled, then an appropriate message is displayed indicating what is needed to fulfill the requirement.
The sample execution is based on a set of 38 completed courses at University of Wisconsin-Whitewater. Our efficient algorithm was able to map the completed courses to requirements of 44 out of 154 majors in the database and produce a report of those 44 possible majors in less than a second. Although the DSS provides a report that includes the number of credits needed to complete each of the possible majors, students must consider the prerequisite conditions, and course rotations, and other hidden requirements before selecting a major. The DSS system uses an adjacency matrix of a directed graph ( ) to store course prerequisite structure (CPS) of each major in a database to display the CPS as a dynamic flow chart that helps students select courses to satisfy the remaining requirements. Figure 6 shows the CPS for the computer science major at UWW, prior to completing any of the courses in the major. Nodes with a stack of courses represent prerequisite courses where only one of the courses is needed to be taken to satisfy the prerequisite. If two or more arrows are pointing to the same child node, then each of the prerequisite relationships must be satisfied for the course list attached to the child node to be available. CPS is extremely useful for identifying any bottleneck conditions that may prolong the graduation date. For example, CS 223 and CS 271 are perquisite courses for many of the 300-level or higher computer science courses. Hence, their prerequisites must be completed as soon as possible to minimize the time to complete the degree.  Figure 7 shows an updated CPS that includes an updated course prerequisite structure, after completing some of the courses required for the major.
The course planning page consists of a course prerequisite structure, list of the degree requirements, an indication of whether each requirement has been satisfied, and courses credited towards satisfying each requirement. The course structure is updated dynamically to narrow down the major path choices, based on the completed courses. The courses shown in green are the courses already completed and the courses shown in orange are the courses whose prerequisites are satisfied. Green arrows point to courses that are available to take, based on the completed courses. In this sample execution, student needs to choose 4 of the 300-level or above courses appear in either orange of black. The CPS is very useful for students to explore the course structure and then select courses to satisfy requirements.

Conclusion
This work introduces an appropriate data structure for representing degree requirements and presents the design and implementation of a DSS that helps students explore possible major/minor combinations and find the shortest path for major completion.
The current implementation is based on the UW-Whitewater course catalog of 154 majors, 121 minors, and 3300 courses. Since requirements vary from one major/minor to another, a typical degree mapping application uses http://cis.ccsenet.org Computer and Information Science Vol. 15, No. 1;2022 separate files for processing individual major/minor requirements. As such, it is a daunting task to create and maintain such an application and there are no such applications for mapping courses to multiple majors/minors. The data structure we introduced in this work is capable of using a single application for processing every major/minor requirement. Hence, this application eliminates the painstaking what-if analysis of static data for exploring possible majors/minors. Furthermore, this application helps undeclared students quickly compare major/minor combinations and find the shortest path for major completion. Although the implementation is based on the UW-Whitewater course catalog, the system can easily be extended to course catalogs at other universities.
The method we introduce in this work for mapping completed courses to majors is a very efficient technique of reducing the complexity of the problem. Hence, such a technique can be very useful in other similar applications.
There is a dearth of data visualization tools for displaying college degree-planning information, mainly due to complexity of degree requirements. The new data structure introduced in this research is extremely useful for creating data visualization tools. We have already developed a dependency evaluation and visualization tool using a version of the aforementioned data structure. We plan to expand the current DSS to create an interactive degree personalization system.