<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Case of Course Recom mendation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Md Akib Zabed Khan</string-name>
          <email>mkhan149@fiu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Agoritsa Polyzou</string-name>
          <email>apolyzou@fiu.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Neila Bennamane</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>LLMs, Course Recommendation, Course Descriptions, Undergraduate Education,</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Florida International University</institution>
          ,
          <addr-line>Miami, Florida</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>1</fpage>
      <lpage>9</lpage>
      <abstract>
        <p>Choosing appropriate courses for a semester is a challenging task for undergraduate students. To facilitate the course selection process, diferent course recommendation systems have been proposed implementing diferent machine learning algorithms and techniques. At the same time, recently, there has been a rapid development of Large Language Models (LLMs) (e.g., GPT4, Llama3, and Gemini), which have been adopted in numerous applications and have influenced all walks of life. In this paper, we explore their potential to assist stakeholders in higher education with course recommendation. We explore two diferent ways to directly (and ofline, to ensure no sensitive data leakage) generate recommendations from pre-trained or fine-tuned LLM models. We also propose a novel ChatGPT-assisted course recommendation model (GPTaCR) which follows a diferent methodology. It utilizes the output of ChatGPT to form rules that capture relationships among courses. Based on these rules, we generate a set of courses for every student to take next, given their prior enrolment history. We use a real-world dataset to evaluate the performance of our proposed models compared to other relevant course recommendation approaches. The findings highlight that our proposed manages to best combine the rich knowledge base of ChatGPT with information about past students' enrollment history. We hope that this work can be a source of motivation for researchers to look into how LLMs might improve recommendation performance and other educational data mining tasks.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Use LLMs for EDM</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        In higher education, one of the dificulties faced by students
is to select a set of courses every semester and balance the
course workload within a semester. While selecting courses,
they need to consider degree requirements, prerequisites
of courses, their interests and career choices, and which
courses will build their base knowledge to take more
advanced courses in the future. So, choosing a good set of
courses is a non-trivial task for students. They may get
assistance from the departmental course catalog or other
senior students. However, their insights might not be
personalized to the preferences, experience, and background
of a particular student. Academic advisors can also help,
but in most institutions, the high ratio of students to
advisors limits the time and dedication an advisor can devote
to a single student, consequently limiting the usefulness of
their interactions [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Due to the lack of proper guidance,
students may not select appropriate courses, which might
have adverse efects on their time-to-degree or retention.
      </p>
      <p>
        The development of data mining and machine learning
models can assist student advising by generating
personalized course recommendations for each student based on
insightful analysis of historical data records of past
students. For example, researchers propose diferent course
recommendation systems building Markov chains [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or deep
learning models [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ] to analyze students’ course
enrollment data and student-course interactions. Besides, natural
language processing (NLP) approaches analyze the topics
and vocabulary available in course descriptions to
understand the relationship of diferent courses [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] and capture
the students’ preferences by inspecting student-course
interactions [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        The fast development of large language models (LLMs)
and their chatbot prototypes like ChatGPT3.5 and
ChatGPT4 has increased the potential to use NLP approaches for
∗Corresponding author.
ics assessment questions [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], programming learning [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
ifxing programming bugs [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], and major recommendation
to students [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. To the best of our knowledge, no one
has explored the potential of utilizing ChatGPT for course
recommendation tasks.
      </p>
      <p>
        In particular, we explore diferent ways to use LLMs for
the task of course recommendation. We start by using
simple, ofline, pre-trained models directly for course
recommendation. Next, we consider fine-tuning strategies for
simpler LLMs to enrich the knowledge base with student
enrolment data. Next, inspired by the association rule mining
technique introduced in [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ] for course recommendation,
we explore a rule-based approach where LLMs assist us in
forming rules which will then be used for recommendation.
In our proposed ChatGPT-assisted course
recommendation (GPTaCR) system, we generate sets of courses that
are frequently taken together by students. By providing
these sets of courses and diferent contexts (course names,
acronyms, descriptions), we ask ChatGPT4 to ofer us a set of
courses well-suited for students to take next. In this way, we
form rules and use them to generate recommendations for
the students, based on their prior course registration history.
We use real-world data from a US public university. Our
experimental results indicate that ChatGPT understands the
association and relationship of courses by analyzing the
provided prompts. It manages to ofer meaningful
recommendations with minimal context provided, so it can be a
CEUR
Workshop
ISSN1613-0073
useful and practical tool to recommend courses eficiently
and accurately.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Related Work</title>
      <sec id="sec-3-1">
        <title>2.1. Course Recommendation</title>
        <p>
          Researchers propose diferent course recommendation
systems (CRS) for university students by collecting historical
course enrollment data from warehouses [
          <xref ref-type="bibr" rid="ref17 ref19">17, 19</xref>
          ], course
descriptions from departments and collecting students’
interests, learning goals, and skills by conducting surveys2[
          <xref ref-type="bibr" rid="ref21">0, 21</xref>
          ].
Numerous CRS have also been proposed to recommend
online courses to the users of online course platforms like
Moodle, edX, and Coursera, etc. 2[
          <xref ref-type="bibr" rid="ref2 ref23 ref24">2, 23, 24</xref>
          ].
        </p>
        <p>
          For course recommendation in university environments
using enrollment data, an association rule mining algorithm
(Apriori) has been proposed to capture the association of
all courses taken by each student1[
          <xref ref-type="bibr" rid="ref18 ref7">7, 18</xref>
          ]. The idea is to
treat courses as items and generate confident rules. When
a student’s prior courses match the left-hand side of a rule,
the rule is activated, and the consequent courses are used
for recommendation. Matrix factorization models are
introduced to recommend courses considering similar students’
preferences for one course over another one2[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Markov
chain and deep learning models (i.e., long short-term
memory networks) have been used to capture the sequential
transitions of courses taken semester-by-semester 3[
          <xref ref-type="bibr" rid="ref2 ref4">, 4, 2</xref>
          ].
        </p>
        <p>
          Whereas, NLP approaches focus more on textual
information (e.g., course descriptions) to calculate similarities
between courses by analyzing the topics and knowledge
components each course covers. Term Frequency–Inverse
Document Frequency (TF–IDF) is the most common
technique to analyze course descriptions and find similar courses
by analyzing how many times a word appears in the
document of each course [
          <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
          ]. On the other hand, Shao et al.
propose an NLP-based PlanBERT model to recommend courses
for multiple consecutive semesters by considering each
student’s course history as a sentence where each course is
a word [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Since NLP-based tools are more advanced
after the introduction of LLMs and diferent applications of
conversational modeling, we explore the use of ChatGPT
with diferent contexts (course names, acronyms,
descriptions) to provide personalized course recommendations to
undergraduate students.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. LLMs in Education</title>
        <p>
          Language models have been applied and explored in
education settings for diferent topics such as providing
personalized feedback and assistance to students2[
          <xref ref-type="bibr" rid="ref16 ref27 ref6">6, 27, 16</xref>
          ],
generating course concepts [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], automatic hint generation [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ],
automated assessment process [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ], grading open-ended
questions [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], generating feedback for programming errors [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ],
detecting student talk moves [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ], training teachers [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ],
nursing training [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ], and sentiment analysis task 3[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], etc.
While many applications provide positive insights and
findings, there are some limitations of ChatGPT for doing each
specific task and outcomes are not as good as the results
when humans complete the tasks like feedback generation
and assessments. For example, Botelho et al. observe that
the range of variations that teachers see while giving
students feedback is not captured by ChatGPT by encoding
students’ responses for comparison [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. Markel et al. find
that there are limitations in the realism of scenarios when
teaching assistants get training from the chat system3[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
Lekan et al. cannot provide major recommendations to
transfer students using ChatGPT [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Moreover, notable
privacy, equity, safety, and ethical concerns surface when
LLMs are used in educational contexts3[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Proposed Approaches</title>
      <sec id="sec-4-1">
        <title>3.1. Direct Use of LLMs - CRwLLM</title>
        <p>First, we use an open-source pre-trained base LLM model
to generate recommendations. In this approach, we use the
Llama-3-8B-Instruct model1 provided by hugging face2 to
get inference for our data. Here, we do not use any historical
course enrollment data for re-training or fine-tuning the
model. We just provide all the course codes with course
names and prior course registration history of a student
as one instance (input) and ask the Llama3 model (ofline
prompting running codes) to recommend a set of courses
(output) by analyzing the provided information. An example
of the instruction and input format for a target student is
depicted in Figure 1.</p>
        <p>
          We cannot generate recommendations from the
opensource GPT2 [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ] model because the input describing an
instance (course codes, course names, student’s prior courses)
exceeds the maximum sequence length for this model.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Fine-tuning LLMs - CRwFine</title>
        <p>
          Alternatively, we can fine-tune LLMs to enrich their
knowledge with historical data relevant to our specific task at
hand. A similar approach has also been proposed for item
recommendation [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. We fine-tune two open-source
models, Llama-3-8B [
          <xref ref-type="bibr" rid="ref39">39</xref>
          ] and GPT2 [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ] denoting them as
CRwFine(Llama) and CRwFine(GPT), respectively. We opted
for these LLMs since we can download and easily use them
for free. Alternatively, we could use the APIs ofered for
finetuning, but that involved uploading training data, which we
did not want to do. By performing the fine-tuning process
completely locally, we do not risk the privacy of student data.
Supervised fine-tuning of an LLM includes the following
steps.
        </p>
        <p>
          Data preparation: Following the prior work for item
recommendation [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], we use the course registration history
of the students to fine-tune an LLM so that it captures the
historical enrollment patterns. An example of a training
instance we preprocess is illustrated in Figure2. We use
&lt;|user|&gt; and &lt;|assistant|&gt; tokens to indicate input and output
in each training instanc3e where input is the prior course
list of a student and output is the courses taken in the target
        </p>
        <sec id="sec-4-2-1">
          <title>1https://ai.meta.com/blog/meta-llama-3/ 2https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct 3https://huggingface.co/blog/llama3</title>
          <p>(last) semester. We also provide course descriptions as input
to fine-tune the model to capture the semantic similarity of
courses as described in 4[0] where there is no output (empty
string) for those texts.</p>
          <p>
            Environmental set-up: We use the transformer library
of hugging face4 to access the base pre-trained language
models (Llama-3-8B and GPT2-1.5B). We use Autotokenizer
to tokenize each word to fine-tune the Llama3 model and
GPT2tokenizer for the GPT2 model. We use BitsandBytes
and parameter-eficient fine-tuning (PEFT) libraries for
finetuning eficiently by reducing computing requirements.
PEFT library provides LoraConfig to use QLoRa [
            <xref ref-type="bibr" rid="ref41">41</xref>
            ] which
stands for Quantization and Low-Rank adapters.
Quantization shrinks the size of a base LLM model by saving 8 or
4 bits per parameter (we save 4 bits per parameter). Using
the QLoRa method, we freeze the existing base LLM model
and add some parameter weights (low-rank adapters) to
the model to train which requires less memory and GPU
support.
          </p>
          <p>Train model and inference We define SFTTrainer with
training arguments that include which layers of the base
model to apply the adapters (we choose the attention layer
because we want to generate attention scores for each course
to recommend and update the parameters accordingly) and
diferent hyperparameters like number of epochs, learning
rate, etc. Then we train the base model with our dataset
and use the fine-tuned LLM model for inference. From
validation and test sets, we provide a target student’s prior
courses as input, keep the output empty, and then
generate recommended course list as output from the fine-tuned
model.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>3.3. Indirect Rule-Based Approach</title>
      </sec>
      <sec id="sec-4-4">
        <title>GPTaCR</title>
        <p>The next step we could explore is to use a more recent and
powerful LLM, e.g., ChatGPT4. However, we cannot enter
students’ registration history in ChatGPT4, as that would
violate student privacy, so we introduce two alternative
approaches. Inspired by the association rule mining (ARM)
approaches for course recommendation, we want to
generate rules in the form of  →  , where  represents a
prior course or frequent sets of courses (course sets) and
represents the output collected by ChatGPT4 when asked
to suggest future courses for a student that has taken the
courses in . Based on the overlap of with the past courses
that a student has taken, we generate the recommendations
in a similar manner as in ARM. Our GPTaCR model and its
steps are illustrated in Figure3.</p>
        <p>In the GPTaCR-1C approach, we provide one course as a
prior course of a student and ask ChatGPT4 to suggest a set
of courses that are relevant to this course by analyzing
provided contexts (course names, acronyms, and descriptions).
In this way, we generate suggestions for all the available</p>
        <sec id="sec-4-4-1">
          <title>4https://huggingface.co/docs/transformers/en/index</title>
          <p>courses which means we get618 rules for 618 courses in
our dataset.</p>
          <p>For the GPTaCR-FCS model, we use the students’ course
registration history to generate frequent course sets. We
consider courses to be the items, and each student’s course
history over all the semesters is one transaction. Based on
all transactions in the training data, we use the concept
of ARM to generate frequent itemsets (FI), i.e., the course
sets with support greater or equal to a minimum support
threshold. Here, each FI consists of one or more courses
frequently taken together. We also generate and tested the
maximal frequent itemsets (MFI) where all the subsets of a
frequent itemset are removed (i.e., if {c1, c2, c3} is a MFI, we
do not consider its subsets, i.e., {c1, c2}, {c2, c3}).</p>
          <p>While the number of FI (or even of MFI) that we get from
the previous step can be quite high, we need to reduce them
and make it more practical for us to test those course sets
with ChatGPT. At the same time, it is desirable for the course
sets to cover as many unique courses as possible. As a result,
we cannot simply use a higher minimum support threshold
to get fewer FI, as in this case, the coverage of courses will
be very poor. What we do is randomly sample course sets
from FI or MFI to use them as input in ChatGPT4 prompts.
While sampling, we have almost as many unique courses as
in the sampled frequent itemsets and the average length of
itemsets remains similar to FI or MFI.</p>
          <p>
            Prompt ChatGPT and form rules: For each possible
course set of the previous step, we use ChatGPT4 [
            <xref ref-type="bibr" rid="ref42">42</xref>
            ] to
generate suggestions for courses to take next after taking
the courses in  . We use a zero-shot prompting strategy
which means we provide diferent contexts (i.e., course codes
and names, diferent acronyms of courses, and course
descriptions) and a course se t and ask ChatGPT4 to suggest
new and diverse sets of courses  () that a student could
take without provide any examples from the training data.
We ask for an estimate of its confidence (∈ [
            <xref ref-type="bibr" rid="ref1">0, 1</xref>
            ]) for each
instance. By collecting ChatGPT’s output, , we form the
rules  →  where prior courses of a student are on the
antecedent part and the suggested courses from ChatGPT4
are on the consequent part.
          </p>
          <p>A rule gets activated if its antecedent part is matched
(using a % of match threshold) by a student’s prior courses.
From each activated rule, we examine two possibilities
regarding courses that we could recommend: first, consider
only the courses in consequent sides of the activated rules,
or secondly, also consider the unmatched courses in
antecedent part of the activated rules.</p>
          <p>Scoring rules: We use three diferent ways to calculate
the score of a course to recommend. (i) We use the
confidence values estimated by ChatGPT4 for a rule to compute
the recommendation score for each course of the activated
rules. (ii) We count how many times an unmatched course
appears on any side of the activated rules and the total count
is the recommendation score for that course. We denote this
scoring rule as the baseline-counting. (iii) We use the
matching ratio and a parameter  () to indicate from which side
of the activated rule an unmatched course is recommended
to compute the recommendation score of that course. The
formula for calculating the score of a recommended course
from any side of the rule is as follows:</p>
          <p>
            + match ratio∗  if  ∈ RHS
Score ( ) = {
 + match ratio∗ (1 − ) if  ∈ LHS
(1)
where  is the unmatched course in an activated rule ,∈
[
            <xref ref-type="bibr" rid="ref1">0, 1</xref>
            ] and ∈ [
            <xref ref-type="bibr" rid="ref1">0, 1</xref>
            ] are hyperparameters. captures a course
score that should always be added for courses in activated
rules. If  is small, then gives a higher score for unmatched
courses in the LHS. We sum up the scores of each course
over all the activated rules to get the final recommendation
score of each candidate course.
          </p>
          <p>Rule-based course recommendation: After using any
of the scoring methods, we have a recommendation score
for each course. We finally recommend the courses with the
highest recommendation scores. If no rule gets activated
for a student, we recommend popular courses which were
not been taken by that student before.</p>
          <p>In ChatGPT4, we create a customized GPT4 chat, write
instructions, and examine two cases when providing
different contextual information, as shown in4. In the first
case,CNames, we provide only the available list of courses
from our training data (i.e., course codes and their names)
as context, and ask for suggestions. In the second case,
CNames+Desc, we provide additional context by uploading
separate files in the knowledge part: the available list of
courses, definitions of diferent acronyms of courses, and
available course descriptions. In both methods, we provide
15 students’ information at a time, generate suggestions for
them and collect the rules. Under additional chat settings in
ChatGPT4, there is an option to use conversational data to
improve the model which we unselect, as recommendations
for later students may get biased and ambiguous by previous
course sets and suggested courses from ChatGPT4.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Experimental Evaluation</title>
      <sec id="sec-5-1">
        <title>4.1. Dataset</title>
        <p>We collected a real-world dataset from Florida International
University, a public university in the US, that includes the
course enrollment history of undergraduate students of the
Computer Science Department for nearly nine years. As
our recommendation should represent good practices, we
solely take into account the information of students who
have earned a degree, and we eliminate instances where a
student had a grade lower than a C in a course. We also
eliminate any dropped courses from students’ histories. Courses
that show up in our dataset fewer than three times are
eliminated. Following preprocessing, we have3328 students’
course enrollment histories and647 distinct courses. Then,
we split the dataset into 3 sets: training, validation, and
test sets, with 2973, 1231, 657 students and 618, 540, 494
unique courses, respectively. For testing, we use the last
three semesters and the preceding three semesters are used
for validation and model selection. The remaining semesters
are retained in the training set. In the validation and test
sets, we eliminate the courses that are not available in the
training set because some models can not recommend these
new courses. Moreover, we eliminate any students who
took courses in less than three semesters, as we require
the records from at least the last two semesters in order
to produce recommendations for a student. Finally, there
are 618 unique courses retained in training, validation, and
test sets. Each student may be associated with more than
one instance, one for each potential target semester with
a prior history length of at least 2 semesters. Additionally,
we collect course names, descriptions, and definitions of
acronyms for each course in our dataset from the
university’s undergraduate catalogs.</p>
      </sec>
      <sec id="sec-5-2">
        <title>4.2. Experimental Setup</title>
        <p>For fine-tuned LLM models, we follow the experimental
setup as described in the Subsection3.2. The CRwLLM and
CRwFine methods did not have any external
hyperparameters that we needed to tune.</p>
        <p>
          For the GPTaCR-1C model, we explore diferent numbers
of suggested courses from ChatGPT4 = [
          <xref ref-type="bibr" rid="ref3 ref4 ref5">3, 4, 5</xref>
          ], recommend
from only the consequent part (because we have just one
course in the antecedent part that is matched with a
student’s prior course history to activate a rule) and diferent
prior course histories = [all, last 2 semesters, last 1 semester]
of each student. We also use two diferent scoring rules: 1)
baseline-counting as described for the GPTaCR-FCS model
and 2) calculating the score based on the semester at which
the matched course was taken by the student. In this case,
we provide higher priority (more weight) if the course was
taken in a recent semester.
        </p>
        <p>For the GPTaCR-FCS model, we repeat our experiments
three times and report the average statistics and measures in
this paper, as we use sampling to limit the number of course
sets. We do so to capture any variability of the results caused
by the sampling and to ensure that the results are accurate
and representative.</p>
        <p>
          For our first step, we apply the Apriori algorithm for
frequent itemset generation from mlxtend [
          <xref ref-type="bibr" rid="ref43">43</xref>
          ] based on a
minimum support threshold. The statistics of FI and MFI
for diferent threshold values are presented in Table 1. We
notice that even with the lowest threshold of0.05 which
results, only 71 (out of the 618) courses are present in two
million itemsets. Moving forward, we set the minimum
support threshold to 0.1, as it manages to cover 48 courses
with 1/16 of the itemsets. During the sampling step, we
randomly select from 300 to 700 samples from either FI or
MFI. The sampled course sets from FI might be shorter and
less specific, allowing their easier activation from students’
past histories. On the other hand, MFI will consist of the
longest possible frequent sets of courses, so there will be
no potential for overlap between the rules sampled.
Statistics of the FI and MFI (with minimum support = 0.1) after
sampling are presented in Table2. We notice that for700
samples, the average length of the course sets is similar
for all the sets and the sampled ones. However, there are
5 and 2 fewer courses present in the FI and MFI samples,
respectively. Next, for each course set, we ask ChatGPT4 to
suggest {2, 3, 4, 5} courses.
        </p>
        <p>
          In the last step, using the rules, we generate
recommendations and we explore diferent parameters that afect the
process. We test the percentage of match threshold = [
          <xref ref-type="bibr" rid="ref20 ref30 ref40">20, 30,
40, 50, 60, 70</xref>
          ] to activate a rule based on the prior course
history of each student when considering 1) all prior semesters,
2) the last two semesters, and 3) only the last semester.
After that, we recommend new courses from 1) only the
consequent part, and 2) the consequent and unmatched
an1–9
tecedent parts of the activated rule. For the third type of
scoring rule that depends on matching ratio and sides of
the activated rules, we have explored diferent values of =
[0, 0.001, 0.01, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45] and  =
[0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6].
        </p>
        <p>
          Course recommendation: For all the models, we
recommend the courses with higher recommendation scores
for the target semester. Following prior work [
          <xref ref-type="bibr" rid="ref2 ref4">4, 2</xref>
          ], we use
a post-processing step where we remove any courses that
the student has taken in the past or that are not ofered for
the target semester. Then, we recommend top  courses to
each student where is the number of courses the student
wants to take in the target semester.
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>4.3. Evaluation Metrics</title>
        <p>
          As in prior work [
          <xref ref-type="bibr" rid="ref2 ref3 ref4">3, 4, 2</xref>
          ], our primary evaluation metric is
the Recall@ score, where is the number of courses a
student wants to take in the target semester. Recall computes
the fraction of the target semester’s courses that we
recommended correctly. Since we recommend as many courses
as a student plans to take in the target semester, recall and
precision scores are equal in our case. Additionally, we
compute the percentage of students to whom we can provide
at least one relevant recommendation,%1+ rel [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Finally,
we also present the number of instances for which students’
history did not activate any rules, as in those cases, we
can not generate personalized recommendations, so we just
recommend the most popular courses.
        </p>
      </sec>
      <sec id="sec-5-4">
        <title>4.4. Competing Approaches</title>
        <p>We evaluate our models compared to other baselines and
competing approaches that similarly use relevant data. For
example, we do not consider methods that might use grading
information. We particularly focus on comparing competing
approaches that process the textual information in some
form.</p>
        <p>
          PopInTerm We implement a popularity-based approach
as the baseline for course recommendation 4[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. We use
the students’ course enrollment history available in training
data to build this model. For each student, we start from
the first semester and count how many students take a
specific course in the first semester of their studies and do
the counting for courses taken in the second semester and
so on. The courses with the highest frequencies at th e-th
semester are recommended for a student’s -th semester.
        </p>
        <p>
          Association Rule Mining (ARM) As described in prior
work [
          <xref ref-type="bibr" rid="ref17 ref18 ref23">17, 18, 23</xref>
          ], we implement an ARM approach, but we
do not cluster the students based on their grades in prior
courses, as we do not use grade information anywhere else.
We consider each student’s course history as one transaction.
We implement the Apriori algorithm using scikit-learn [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ]
to generate high-confidence rules. For the recommendation
part, we use the same process as described in our proposed
approach, utilizing the confidence values generated by the
Apriori algorithm for each rule. We explore minimum
support = [0.10, 0.15, 0.20, 0.25] to generate itemsets, confidence
threshold = [0.3, 0.4, 0.5, 0.6] to consider a rule, % of match
threshold = [
          <xref ref-type="bibr" rid="ref40">40, 50, 60, 70</xref>
          ] to activate a rule matching with
all prior courses of a target student. Similar to our work,
we also explore recommending new courses from the
consequent only and from both sides of an activated rule, which
is not proposed in prior work.
        </p>
        <p>
          TF-IDF We implement the TF-IDF model using the course
descriptions for all courses to recommend similar and
relevant courses [
          <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
          ]. Each course description undergoes
preprocessing, which involves converting text to lowercase,
removing patterns and special characters, tokenizing the
text into words, removing stopwords, and then lemmatizing
the words to their base forms using nltk [
          <xref ref-type="bibr" rid="ref46">46</xref>
          ]. This step is
critical for cleaning the text and reducing it to its essential
content. Next, the course descriptions are transformed into
numerical representations using TF-IDF, which captures the
importance of each term within the course descriptions
relative to their frequency across all descriptions. To compute
the recommendation score of each course, we average over
the cosine similarity between that course and prior courses
taken in 1) all prior semesters, 2) the last two semesters, and
3) only the last semester of the target student.
        </p>
        <p>
          PLANBERT We re-implement the PLANBERT model
which is also a language model proposed in 7[]. In this
model, we do not use any future reference courses like the
proposed model, only use the course enrollment data to
train the model to capture historical course enrollment
patterns. We make one sentence with all the courses taken by a
student to prepare each instance of the training data. Then,
we use the pre-trained DistilBERT model from the Hugging
Face5 and fine-tune it with our data. Using the data collator
for Language Modeling6, we tokenize the words including
some masked tokens where  = [
          <xref ref-type="bibr" rid="ref15 ref20 ref25">15, 20, 25</xref>
          ] percent tokens
(randomly chosen) are masked in each batch of data. Then
we fine-tune the model with the training data where the
masked tokens are the tokens to be predicted. To
recommend, we use each student’s previous courses to construct a
single sentence and at the end of each sentence, we include
a masked token. The fine-tuned PLANBERT model predicts
and generates a score for each candidate course to be
recommended for the upcoming semester. The courses with
higher scores are recommended to each student.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>5. Results</title>
      <sec id="sec-6-1">
        <title>5.1. Performance Comparison</title>
        <p>Table 3 presents the performance comparison between
CRwLLM, CRwFine, GPTaCR models, and other existing
approaches. Our proposed GPTaCR-FCS model (which
uses the CNames+Desc context) outperforms the other
approaches in all the metrics. It utilizes the power of ChatGPT
for textual analysis. GPTaCR-FCS also performs better than
the ARM and PLANBERT models for the test data
providing slightly better recall (0.298) and %1+ rel scores (58.14%).
ARM is already a well-established algorithm that captures
all the associations among items present in the historical
data since it considers all the high-confidence rules. In our
approach, we partially and indirectly consider student
enrollment data (only through the frequent course sets used).
The method takes into account enrollment patterns. We can
recommend the unmatched courses from the left-hand side
of the rule, which includes the frequent course sets.</p>
        <p>We observe a fine-tuned LLM model, CRwFine(llama)
provides a better validation recall score than the GPTaCR model
when we use only course enrollment data to re-train the base
model. However, at the same time, the test performance
5https://huggingface.co/learn/nlpcourse/chapter7/3?fw=tf
6https://huggingface.co/docs/transformers/main_classes
/data_collator#transformers.default_data_collator
is significantly lower, indicating that the fine-tuned
recommendations do not generalize well for unseen instances.
Interestingly, when we use both course enrollment and
description data in the fine-tuning process, the performance of
both fine-tuned models degrades. This happens because for
each instance, we have much more text, and the model might
have trouble focusing on the most relevant information.</p>
        <p>Overall, while we partially use student enrolment data
and provide limited course information, ChatGPT4 can build
reasonable recommendations by taking advantage of its vast
knowledge base. Fine-tuning an LLM is a potential solution
to utilize all the course enrollment data by using them
oflfine preserving the privacy of students but we might need
more powerful LLMs to handle all the relevant
information. The performance of our proposed models serves as a
proof of concept and a first look into LLM’s capabilities in
recommendation tasks in education.</p>
      </sec>
      <sec id="sec-6-2">
        <title>5.2. Efects of Hyperparameters in GPTaCR</title>
        <p>Since the GPTaCR models perform the best, we further delve
into how they are afected by diferent hyperparameters. We
present the efect of diferent hyperparameters of
GPTaCR1C model in Table 4. We observe best test Recall@ and
%1+ rel scores by asking ChatGPT4 to suggest 4 courses,
all
using all the history of a student to match with the one prior
course (LHS) of a rule and scoring based on course-taking
semester. We observe the biggest variability for the size
of the right-hand side, while the scoring method does not
dramatically change the results.</p>
        <p>We present the efects of diferent hyperparameters of
the GPTaCR-FCS model in Table5. In the second row, we
present the best set of hyperparameters for whom we get
the best Recall@ and %1+ rel scores. The performance
observed refers to the case when we use FI samples rather
than MFI samples. In the latter case, we get test recall 0.277
and %1+ rel 54.83%. One reason is that students manage to
activate more rules in FI samples rather than in MFI,
resulting in more reliable recommendations in the end. Moving
forward, we will only present results and discuss approaches
that sample from FI.</p>
        <p>In the other rows of Table5, we present the best scores for
each parameter value where empty cells indicate the best
possible hyperparameters for the parameter noted in that
row. First, we can see that we get the best scores when we
use more contexts (course names, acronyms, and
descriptions) than only using course names. The improvement in
performance though is quite limited, indicating that
ChatGPT4 uses its existing knowledge to infer the topics covered
by only using the course names. As a result, when we add
the course descriptions, we do not get a significant
improvement.</p>
        <p>Second, we observe better performance when we use
more samples (best validation recall using 700 samples and
best test recall using 600 samples). It is understandable that
if we use fewer samples (and consequently, fewer rules), we
get more instances with few or no activated rules, leading to
unreliable recommendations. Third, we get the best scores
with 3 courses suggested by ChatGPT4, while the other
values have similar performance. A total of 3 courses in a
Valid
0.342
semester are also commonly taken by the students of our
dataset. When we ask ChatGPT4 to suggest more than
3 courses, it may suggest some less relevant courses and
overall recall scores become lower.</p>
        <p>Fourth, we can see better performance when using the
lower percentage of thresholds (20, 30, 40) of matching the
antecedents of the rules with the students’ prior courses.
One possible reason could be that the more we increase
the match threshold, the fewer rules activated, resulting in
diminished recommendation performance. Fifth, we also
examine the best performance achieved when we consider all,
the last 2, or only the last semester of a student’s registration
history to match it to the rules. The results indicate that the
more history we use, the better results we will get. When
we use all history, we manage to match more rules,
resulting in better performance and a lower number of instances
for which we cannot ofer personalized recommendations.
Sixth, we get much better results when we use both sides of
the activated rules to recommend courses to a student, i.e.,
both the consequent courses and any unmatched courses
in the antecedent that the student has not taken yet. This
indicates that the frequent course sets capture important
historical trends in the enrolment data about which courses
are commonly taken together. This is an indirect way of
taking into account student-course interactions.</p>
      </sec>
      <sec id="sec-6-3">
        <title>5.3. Discussion and Limitations</title>
        <p>We need to acknowledge some limitations existing when
using ChatGPT to build a recommendation system for
university students. Firstly, we need to be very careful when
using sensitive student data. As mentioned before, we
cannot directly put real-world student-course interactions to
ChatGPT4 due to privacy concerns about students’ data.
Secondly, it might be tricky to track what part of the provided
information ChatGPT4 uses to generate the
recommendation. These tools have a particular limit on the length of text
that they can process, and it can be hard to track this when
interacting with the tool. If someone is not careful,
ChatGPT might return suggestions while forgetting information
provided earlier, resulting in meaningless output. That is
even more common when using ChatGPT3.5. Additionally,
LLMs sufer from hallucinations sometimes, which in our
case could mean suggesting invalid course codes. In our
experiments, we noticed this phenomenon only when our
prompts had too long input character length. Once we took
care of that, we checked but did not notice any
hallucinations again. In general, someone should validate the output
to ensure the outcomes are meaningful.</p>
        <p>Third, for the confidence scores provided by ChatGPT4,
we do not have a clear idea about how they are calculated,
so they are not very reliable, as shown by our results (since
the other scoring methods perform better). Finally, LLMs
do not ofer reliable recommendations when provided with
just course content and one student’s registration history.
This serves as a warning for the students who might try to
directly use an LLM with their own data.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>6. Conclusion</title>
      <p>Our goal is to explore ways to utilize LLMs for the task of
course recommendation. ChatGPT4 can understand
conversational text data and analyze the provided context to
suggest relevant courses. We evaluate direct methods for
recommendation, where we directly ofer information to the
model and request recommendations for the next courses
a student should take. We also introduce a novel
framework that uses ChatGPT4 to create rules between prior and
future courses. We also explore providing diferent
contexts (course names, acronyms, and course descriptions) to
ChatGPT4 so that it can find relevant and related courses.
Our results highlight that when using directly ChatGPT4,
we might not have relevant recommendations, but our
proposed approach manages to better capture semantic
information on course information and the insights provided by
historical enrollment data. Based on our work, we believe
more research is needed to explore the LLM capabilities in
course recommendation. We hope to inspire other EDM
researchers to consider LLMs for diferent problems in
educational settings.
1–9</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kadlec</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Immerwahr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <article-title>Guided pathways to student success perspectives from indiana college students and advisors</article-title>
          , New York: Public Agenda (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyzou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. N.</given-names>
            <surname>Nikolakopoulos</surname>
          </string-name>
          , G. Karypis,
          <article-title>Scholars walk: A markov chain framework for course recommendation</article-title>
          .,
          <source>International Educational Data Mining Society</source>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M. A. Z.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyzou</surname>
          </string-name>
          ,
          <article-title>Session-based course recommendation frameworks using deep learning</article-title>
          ,
          <source>in: Proceedings of the 16th International Conference on Educational Data Mining</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>269</fpage>
          -
          <lpage>277</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <article-title>Connectionist recommendation in the wild: on the utility and scrutability of neural networks for personalized course guidance, User modeling and user-adapted interaction 29 (</article-title>
          <year>2019</year>
          )
          <fpage>487</fpage>
          -
          <lpage>525</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Naren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Z.</given-names>
            <surname>Banu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lohavani</surname>
          </string-name>
          ,
          <article-title>Recommendation system for students' course selection</article-title>
          ,
          <source>in: Smart Systems and IoT: Innovations in Computing</source>
          , Springer,
          <year>2020</year>
          , pp.
          <fpage>825</fpage>
          -
          <lpage>834</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          , W. Jiang,
          <article-title>Designing for serendipity in a university course recommendation system</article-title>
          ,
          <source>in: Proceedings of the tenth international conference on learning analytics &amp; knowledge</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>350</fpage>
          -
          <lpage>359</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Shao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          ,
          <article-title>Degree planning with plan-bert: Multi-semester recommendation using future courses of interest</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence</source>
          , volume
          <volume>35</volume>
          ,
          <year>2021</year>
          , pp.
          <fpage>14920</fpage>
          -
          <lpage>14929</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Revell</surname>
          </string-name>
          ,
          <article-title>Nearly half of job seekers use AI to polish their resumes, ifnance</article-title>
          .yahoo.com,
          <year>2024</year>
          . https://finance.yahoo.com/news/ nearly-half
          <article-title>-job-seekers-us-110254846</article-title>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Edwards</surname>
          </string-name>
          , Teaching Transformed,
          <source>Communications of the ACM</source>
          ,
          <year>2024</year>
          . https://cacm.acm.org/magazines/ 2024/2/279522-teaching-transformed/fulltext.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <article-title>Realize the business value of generative AI in your organization</article-title>
          ,
          <source>Amazon Web Services</source>
          ,
          <year>2024</year>
          .https://aws. amazon.com/generative-ai/use-cases./
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Liu</surname>
          </string-name>
          , C. Liu,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lv</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Zhang,</surname>
          </string-name>
          <article-title>Is chatgpt a good recommender? a preliminary study</article-title>
          ,
          <source>arXiv preprint arXiv:2304.10149</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Liu</surname>
          </string-name>
          , C. Liu,
          <string-name>
            <given-names>P.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Ye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>You</surname>
          </string-name>
          , et al.,
          <source>Llmrec: Benchmarking large language models on recommendation task</source>
          ,
          <source>arXiv preprint arXiv:2308.12241</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bhandari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          ,
          <article-title>Evaluating chatgptgenerated textbook questions using irt</article-title>
          , ????
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R.</given-names>
            <surname>Yilmaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. G. K.</given-names>
            <surname>Yilmaz</surname>
          </string-name>
          ,
          <article-title>Augmented intelligence in programming learning: Examining student views on the use of chatgpt for programming learning</article-title>
          ,
          <source>Computers in Human Behavior: Artificial Humans</source>
          <volume>1</volume>
          (
          <year>2023</year>
          )
          <fpage>100005</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>N. M. S.</given-names>
            <surname>Surameery</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Shakor</surname>
          </string-name>
          ,
          <article-title>Use chat gpt to solve programming bugs</article-title>
          ,
          <source>International Journal of Information Technology &amp; Computer Engineering</source>
          (IJITC) ISSN:
          <fpage>2455</fpage>
          -
          <lpage>5290</lpage>
          3 (
          <year>2023</year>
          )
          <fpage>17</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>K.</given-names>
            <surname>Lekan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          ,
          <article-title>Ai-augmented advising: A comparative study of chatgpt-4 and advisor-based major recommendations</article-title>
          , ????
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Al-Badarenah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Alsakran</surname>
          </string-name>
          ,
          <article-title>An automated recommender system for course selection</article-title>
          ,
          <source>International Journal of Advanced Computer Science and Applications</source>
          <volume>7</volume>
          (
          <year>2016</year>
          )
          <fpage>166</fpage>
          -
          <lpage>175</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bendakir</surname>
          </string-name>
          , E. Aïmeur,
          <article-title>Using association rules for course recommendation</article-title>
          ,
          <source>in: Proceedings of the AAAI workshop on educational data mining</source>
          , volume
          <volume>3</volume>
          ,
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          ,
          <year>2006</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Esteban</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zafra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Romero</surname>
          </string-name>
          ,
          <article-title>A hybrid multicriteria approach using a genetic algorithm for recommending courses to university students</article-title>
          .,
          <source>International educational data mining society</source>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>B.</given-names>
            <surname>Ma</surname>
          </string-name>
          , M. Lu,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Taniguchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Konomi</surname>
          </string-name>
          ,
          <article-title>Exploration and explanation: An interactive course recommendation system for university environments</article-title>
          ,
          <source>in: CEUR Workshop Proceedings</source>
          , volume
          <volume>2903</volume>
          ,
          <string-name>
            <surname>CEUR-WS</surname>
          </string-name>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Sulaiman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Tamizi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Shamsudin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Azmi</surname>
          </string-name>
          ,
          <article-title>Course recommendation system using fuzzy logic approach</article-title>
          ,
          <source>Indonesian Journal of Electrical Engineering and Computer Science</source>
          <volume>17</volume>
          (
          <year>2020</year>
          )
          <fpage>365</fpage>
          -
          <lpage>371</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>C. De Medio</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Limongelli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Sciarrone</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Temperini</surname>
          </string-name>
          ,
          <article-title>Moodlerec: A recommendation system for creating courses using the moodle e-learning platform</article-title>
          ,
          <source>Computers in Human Behavior</source>
          <volume>104</volume>
          (
          <year>2020</year>
          )
          <fpage>106168</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>R.</given-names>
            <surname>Obeidat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Duwairi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Al-Aiad</surname>
          </string-name>
          ,
          <article-title>A collaborative recommendation system for online courses recommendations</article-title>
          ,
          <source>in: 2019 International Conference on Deep Learning and Machine Learning in Emerging Applications</source>
          (
          <article-title>Deep-ML)</article-title>
          , IEEE,
          <year>2019</year>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Lv</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <surname>Mcrs</surname>
          </string-name>
          :
          <article-title>A course recommendation system for moocs</article-title>
          ,
          <source>Multimedia Tools and Applications</source>
          <volume>77</volume>
          (
          <year>2018</year>
          )
          <fpage>7051</fpage>
          -
          <lpage>7069</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>P.</given-names>
            <surname>Symeonidis</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Malakoudis, Multi-modal matrix factorization with side information for recommending massive open online courses</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>118</volume>
          (
          <year>2019</year>
          )
          <fpage>261</fpage>
          -
          <lpage>271</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>E.</given-names>
            <surname>Bauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Greisel</surname>
          </string-name>
          , I. Kuznetsov,
          <string-name>
            <given-names>M.</given-names>
            <surname>Berndt</surname>
          </string-name>
          , I. Kollar,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dresel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Fischer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fischer</surname>
          </string-name>
          ,
          <article-title>Using natural language processing to support peer-feedback in the age of artificial intelligence: A cross-disciplinary framework and a research agenda</article-title>
          ,
          <source>British Journal of Educational Technology</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>W.</given-names>
            <surname>Dai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Jin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-S.</given-names>
            <surname>Tsai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gašević</surname>
          </string-name>
          , G. Chen,
          <article-title>Can large language models provide feedback to students? a case study on chatgpt</article-title>
          ,
          <source>in: 2023 IEEE International Conference on Advanced Learning Technologies (ICALT)</source>
          , IEEE,
          <year>2023</year>
          , pp.
          <fpage>323</fpage>
          -
          <lpage>325</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ehara</surname>
          </string-name>
          ,
          <article-title>Measuring similarity between manual course concepts and chatgpt-generated course concepts (</article-title>
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Z. A.</given-names>
            <surname>Pardos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bhandari</surname>
          </string-name>
          ,
          <article-title>Learning gain diferences between chatgpt and human tutor generated algebra hints</article-title>
          ,
          <source>arXiv preprint arXiv:2302.06871</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>A.</given-names>
            <surname>Botelho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Baral</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Erickson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Benachamardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. T.</given-names>
            <surname>Hefernan</surname>
          </string-name>
          ,
          <article-title>Leveraging natural language processing to support automated assessment and feedback for student open responses in mathematics</article-title>
          , Journal of Computer Assisted Learning (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>G.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Cardoso-Pereira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Monteiro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lucena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Souza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Gama</surname>
          </string-name>
          ,
          <article-title>Large language models for education: Grading open-ended questions using chatgpt</article-title>
          ,
          <source>in: Proceedings of the XXXVII Brazilian Symposium on Software Engineering</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>293</fpage>
          -
          <lpage>302</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>T.</given-names>
            <surname>Phung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cambronero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gulwani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kohn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Singla</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Soares, Generating high-precision feedback for programming syntax errors using large language models</article-title>
          ,
          <source>arXiv preprint arXiv:2302.04662</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>D.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Shan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Guo</surname>
          </string-name>
          , G. Chen,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <article-title>Can chatgpt detect student talk moves in classroom discourse? a preliminary comparison with bert</article-title>
          ,
          <source>in: Proceedings of the 16th International Conference on Educational Data Mining, International Educational Data Mining Society</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>515</fpage>
          -
          <lpage>519</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <surname>J. M. Markel</surname>
            ,
            <given-names>S. G.</given-names>
          </string-name>
          <string-name>
            <surname>Opferman</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Landay</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Piech</surname>
          </string-name>
          , Gpteach:
          <article-title>Interactive ta training with gpt based students (</article-title>
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <surname>C.-Y. Chang</surname>
            ,
            <given-names>G.-J.</given-names>
          </string-name>
          <string-name>
            <surname>Hwang</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.-L. Gau</surname>
          </string-name>
          ,
          <article-title>Promoting students' learning achievement and self-eficacy: A mobile chatbot approach for nursing training</article-title>
          ,
          <source>British Journal of Educational Technology</source>
          <volume>53</volume>
          (
          <year>2022</year>
          )
          <fpage>171</fpage>
          -
          <lpage>188</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>T.</given-names>
            <surname>Shaik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Tao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Galligan</surname>
          </string-name>
          ,
          <article-title>Sentiment analysis and opinion mining on educational data: A survey</article-title>
          ,
          <source>Natural Language Processing Journal</source>
          <volume>2</volume>
          (
          <year>2023</year>
          )
          <fpage>100003</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>L.</given-names>
            <surname>Yan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Sha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martinez-Maldonado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gašević</surname>
          </string-name>
          ,
          <article-title>Practical and ethical challenges of large language models in education: A systematic literature review</article-title>
          ,
          <source>arXiv preprint arXiv:2303.13379</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>A.</given-names>
            <surname>Radford</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Child</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Luan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Amodei</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Sutskever</surname>
          </string-name>
          ,
          <article-title>Language models are unsupervised multitask learners (</article-title>
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <article-title>AI@Meta, Llama 3 model card (</article-title>
          <year>2024</year>
          ). URL: https://github.com/meta-llama/llama3/blob/main/ MODEL_CARD.md .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>F.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cao</surname>
          </string-name>
          , Y. Liu, Gpt4mts:
          <article-title>Prompt-based large language model for multimodal time-series forecasting</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence</source>
          , volume
          <volume>38</volume>
          ,
          <year>2024</year>
          , pp.
          <fpage>23343</fpage>
          -
          <lpage>23351</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>T.</given-names>
            <surname>Dettmers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pagnoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Holtzman</surname>
          </string-name>
          , L. Zettlemoyer, Qlora:
          <article-title>Eficient finetuning of quantized llms</article-title>
          ,
          <source>Advances in Neural Information Processing Systems</source>
          <volume>36</volume>
          (
          <year>2024</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <surname>OpenAI</surname>
          </string-name>
          , Chatgpt-
          <volume>4</volume>
          ,
          <year>2023</year>
          . URL: https://chat.openai. com, software available from OpenAI.
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>S.</given-names>
            <surname>Raschka</surname>
          </string-name>
          ,
          <string-name>
            <surname>Mlxtend:</surname>
          </string-name>
          <article-title>Providing machine learning and data science utilities and extensions to python's scientific computing stack</article-title>
          ,
          <source>The Journal of Open Source Software</source>
          <volume>3</volume>
          (
          <year>2018</year>
          ). URL: https://joss.theoj.org/papers/ 10.21105/joss.00638. doi:
          <volume>10</volume>
          .21105/joss.00638.
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>A.</given-names>
            <surname>Elbadrawy</surname>
          </string-name>
          , G. Karypis,
          <article-title>Domain-aware grade prediction and top-n course recommendation</article-title>
          ,
          <source>in: Proceedings of the 10th ACM conference on recommender systems</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>190</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pedregosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Varoquaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gramfort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Thirion</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grisel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blondel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Prettenhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Weiss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dubourg</surname>
          </string-name>
          , et al.,
          <article-title>Scikit-learn: Machine learning in python</article-title>
          ,
          <source>the Journal of machine Learning research 12</source>
          (
          <year>2011</year>
          )
          <fpage>2825</fpage>
          -
          <lpage>2830</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bird</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Klein</surname>
          </string-name>
          , E. Loper,
          <article-title>Natural language processing with Python: analyzing text with the natural language toolkit, ”</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          , Inc.”,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>