Computer-supported negotiation of course content
- ISSN: 03601315
- DOI: 10.1016/j.compedu.2009.04.012
Abstract
Students learn more effectively with personally meaningful tasks. Thus, students learn more if they have a say in deciding what specific topics and examples are being discussed in class. Naturally, the instructor knows what topics are important to cover in a course and which ones might be optional. Finding the right balance between students preferences and the instructors requirements is not so easy and thus may prevent this kind of shared control of the classroom from being realized. This article describes how the instructors and students interests can be used to generate a list of course topics that satisfies both parties. However, instead of adding technology to the classroom, technology is used to improve the classroom experiences. Specifically, it is shown how course topics can be assigned to specific students maximizing what is meaningful to the students and satisfies the course parameters as defined by the instructor. This problem can be formulated as a variation of the linear assignment problem and solved with a binary linear program. Results from actual and simulated courses are discussed and generalizations of the topic assignment problem presented. (PsycINFO Database Record (c) 2009 APA, all rights reserved) (journal abstract)
Computer-supported negotiation of course content
Abstract
Students learn more eectively with personally meaningful tasks. Thus, students learn more if they have a
say in deciding what specic topics and examples are being discussed in class. Naturally, the instructor knows
what topics are important to cover in a course and which ones might be optional. Finding the right balance
between students' preferences and the instructor's requirements is not so easy and thus may prevent this
kind of shared control of the classroom from being realized. This article describes how the instructor's and
students' interests can be used to generate a list of course topics that satises both parties. However, instead
of adding technology to the classroom, technology is used to improve the classroom experiences. Specically,
it is shown how course topics can be assigned to specic students maximizing what is meaningful to the
students and satises the course parameters as dened by the instructor. This problem can be formulated as
a variation of the linear assignment problem and solved with a binary linear program. Results from actual
and simulated courses are discussed and generalizations of the topic assignment problem presented.
Key words: Improving classroom teaching, interdisciplinary projects, teaching/learning strategies
1. Introduction
Learning is an active process where students construct their own knowledge and relate it to their previ-
ous experiences. Such active learning occurs especially when learners pursue self-driven learning tasks (??).
Students are often more motivated and engaged in learning if inherently interested in the topic (??). The
negotiation of content can also result in a potential increase in autonomy of the students (?). Unfortunately,
instructional strategies consistent with these ideas are sometimes quite dicult to implement in the class-
room. Anybody who has taught knows that covering topics that each student is really interested in is an
impossible task. First, students have dierent interests even if they are studying in the same eld. Second,
what the instructor believes the students are interested in is frequently no more than just that.
One extreme way to approach this problem is to give the students a free hand in what to learn with the
result that they may learn a lot, but not necessarily what the course was meant to teach. A more balanced
approach is to let students choose among a pre-screened set of resources (?). Some adaptive hypermedia
systems use this approach giving students the opportunity to explore, under the \guiding hand" of the
adaptive system (?), those topics and examples they are interested in most.
A dierent computational approach is presented in this article. It describes a method that combines the
instructor's requirements for the course with the students' preferences. When an instructor designs a course,
he or she frequently needs to make choices that are not necessary for pedagogical reasons. Should I use
this or that example? Assign this or that paper to read? Have them solve this or that problem? There are
multiple good examples, papers to read, and problems to solve. These situations provide a great opportunity
to give the students a choice so that they end up with a personally more meaningful learning activity. ?
found that students participated in a foreign language course more frequently when they could choose what
topic to talk about. This is consistent with ? who recommends that students take part in planning the
content of a course so that they become active contributors instead of \passive recipients of knowledge."
He dierentiates between three types of approaches which are teacher-determined, teacher-facilitated and
student-determined. This paper focuses on the teacher-facilitated approach.
Such collaborative classrooms are quite dierent from the traditional teacher-centric model. Knowledge
and authority is shared among teachers and students (?). As a result, the teacher is more in the role of
a mediator or guide and not the all-knowing oracle. However, giving up this control and developing the
Preprint submitted to Computers & Education
are often assigned to students with quite some
exibility about the specic topic. The goal is that students
will be more engaged learners if they choose a topic that will interest them.
If students can, within instructor-dened limits, choose the topics for the whole course, the course can
be quite dierent each time it is taught. This is the specic problem this paper addresses. Although it is
assumed that there are more topics than students, the same approach can also be used to assign n topics to
n students in such a way that students tend to get a topic they prefer.
As mentioned earlier, the approach presented in this paper can be applied to a variety of choices in the
classroom or other situations where it would be advantageous to have people choose some tasks over others.
In fact, a student's preferences for certain learning activities could be replaced with a worker's qualications
for a certain task. Nevertheless, in the rest of this paper the focus will be on assigning topics to individual
students. I will refer to it as the Topic Assignment Problem.
The organization of the paper is as follows. First, the problem is dened and illustrated with a real-world
example. Related approaches are discussed next. Then, it is shown how the task of selecting the course
topics considering the instructor's requirements and students' preferences can be formulated as a variation
of a linear assignment problem. Finally, the implications are discussed based on using this approach for
several semesters.
2. Choosing Topics for a Course
Students can often be given a choice of what topic to focus on. A trivial example is when the students
have to write a paper, and the topic is not too constrained. However, often the situation is slightly more
restrictive, such as when the instructor wants to make sure that certain themes are covered to a specied
degree. For instance, the instructor may need to choose between many possible articles or examples for
certain topics for the students to study and discuss. Letting the students participate in selecting the topics
results in learning tasks more meaningful to students.
An example from my own classroom illustrates this situation. In a course on user interfaces, many issues
and concepts could be discussed: interfaces for people with disabilities, interfaces for children, interfaces for
learners, ambient displays, tangible interfaces, aective computing, and many more. Because there are too
many themes to cover in depth in one semester, I mark only some of them (e.g., interfaces for people with
disabilities) as required. To each such theme, I assign several sets of papers that address some topic of the
theme in some interesting way (e.g., focusing on visually impaired users browsing the World Wide Web, or
on motion-impaired users using input devices). Each student will have to focus on a topic covered by one
such set of papers, summarize the ideas and lead the discussion in class.
Instructor and students together decide which papers and thus, which topics, are being discussed in
each semester. Each student ranks all the given topics on a linear scale, starting with the one that is most
interesting to this student, then the second one, and so on. The students have access to the topics for about a
week where they can nd out which topic matches their interest most. This approach does sometimes result
in students picking shorter papers which defeats the purpose of the approach. An alternative approach would
be to ask the students to rate all topics according to some characteristics. For instance, for middle-school
students active (dynamic, fast-changing) and cool (popular or fashionable) topics were especially interesting
(?).
The instructor marks those themes and topics (there can be several topics per theme) that have to be
discussed no matter what the students' preferences are. Furthermore, to avoid all the students being assigned
a topic in the same theme, the instructor can restrict how many topics per theme may be assigned by the
computational assignment procedure. Of course, the students need not worry about all those instructor-
imposed constraints. The goal then is to assign each student a set of papers that is high on his or her list
of preferences.
This assignment problem can be formalized as follows. The content of the course is organized as a set
of themes and each theme i has a non-empty set ti of topics. Each of the n student ranks the m topics in a
linear list starting with the most preferred topic. The instructor denes for each topic and theme whether
2
the topics, and thus the sets of papers, are assigned by the algorithm described below to each student,
maximizing the students' preferences given the instructor's requirements.
One can also imagine a scenario where instead of requiring that topic A is assigned but not topic B, an
instructor might prefer A over B. This can be easily accomplished within the presented framework as will
be shown later. Many other extensions could be imagined. Nevertheless, for now the discussion focuses on
those constraints and preferences that come up naturally in the context of the real classroom.
3. Existing Approaches
As shown in Section 4.1, the topic assignment problem can viewed and solved as a variation of the Linear
Sum Assignment Problem (LSAP). The LSAP has been used for people assignment problems as early as the
1950s (?). Extensions of LSAP have been developed for related but dierent problems (??). In a similar
vein, this paper presents an extension of LSAP to support a collaborative classroom where instructor and
students share control over the course content.
Recognizing the advantage of letting students choose the topics, the shared-control approach has been
used by colleagues and myself using an informal assignment process by hand. However, doing the assignment
by hand is exceedingly cumbersome and often leads to suboptimal assignments. The quite ecient Hungarian
Algorithm to solve the LSAP (?) could, in principle, be done by hand. However, its worst-case complexity
is still O(m3), where m is the number of topics (and normally larger than the number of students). Thus,
nding an optimal solution by hand is not realistic, though some people may indeed attempt to nd good
solutions by hand as I used to in the past. Although nding a good (yet suboptimal) solution may not
sound too bad, it has potential negative pedagogical implications. Therefore, optimal solutions are worth
nding. Interestingly, the students' informal feedback suggests that explaining to them the general approach
of nding an optimal assignment has a positive psychological eect on them in that they believe they indeed
got a fair deal when the topics are assigned. These were graduate students, some with a highly technical
background, some with a liberal arts background, but all interested in user interface design. It would be
interesting to see whether this attitude generalizes to a less computer-friendly student population.
4. Linear Assignment Problems
In this section, the topic assignment problem described in Section 2 is formalized as an extension to the
linear sum assignment problem and then solved in the next section with a linear program.
4.1. Linear Sum Assignment Problem
The student preferences of the topic assignment problem can be formalized as a Linear Sum Assignment
Problem (LSAP) (?). To formulate the instructor's constraints, the LSAP needs to be extended. In its
original formulation, a LSAP assigns tasks to machines or workers. Here, we talk about assigning topics to
students.
Each student i is assigned a topic (i), i.e., is a mapping from students to topics. The original
formulation of LSAPs assumes that the number of topics m and of students n is the same, whereas for the
topic assignment problem, this condition is relaxed and n m is assumed. An n m matrix a can be
dened which can be viewed as the graph connecting students i and topics j assigned to them.
aij =
1 if j = (i)
0 otherwise
(1)
Next, the assignment constraints can be dened. First, we make sure each student gets exactly one topic.
nX
i=1
aij = 1 for all j = 1; 2; : : : ;m (2)
3
LSAP requires it to be equal to 1 instead of 1.
nX
j=1
aij 1 for all i = 1; 2; : : : ; n (3)
Next, a nm cost matrix c is dened where cij is the cost of assigning topic j to student i. Given the
assignment function we want to minimize the total cost, i.e.,
min
nX
i=1
ci(i) (4)
The cost needs to be dened so that better assignments have lower cost. An obvious way to do this is to
rank all the topics for each student and use the rank as cost. If the rank of paper j for student i is rij , then
the cost matrix c can be simply dened as cij = rij for all i = 1; 2; : : : ; n and j = 1; 2; : : : ;m. A variations
of this cost function where worse ranks are punished more heavily than just linearly could be dened with
cij = r2ij .
It is easy to see that the current formulation is a LSAP. The case where m n can be converted to the
one where m = n by adding m n students with zero cost for being assigned any of the topics, i.e., cij = 0
for i = n+ 1; n+ 2; : : : ;m and j = 1; 2; : : : ;m.
However, the instructor's constraints on which topics and themes must be assigned have not yet been
formulated. Let S be the set of all required themes and T be the set of all required topics. Themes and
topics can be required by the instructor independently, i.e., a required theme may or may not have required
topics, and a required topic may or may not be in a required theme. Therefore, no further requirements
need to be imposed on S and T .
First, for each required theme k, at least one of its topics tk needs to be assigned.
nX
i=1
X
j2tk
aij 1 for all k 2 S (5)
Second, each required topic in T needs to be assigned.
nX
i=1
aij = 1 for all j 2 T (6)
Finally, if we want to have a relatively even emphasis on the themes, we can require that no theme has
more than h selected topics. I use h = 2 in my classes.
nX
i=1
X
j2tk
aij h for all themes k (7)
The topic assignment problem is now dened. Equations 2 and 3 dene the assignment constraints,
equation 4 denes the optimization criterion describing the students' preferences, and equations 5, 6, and 7
implement the instructor's requirements.
4.2. Linear Program
An LSAP can be solved by many ecient algorithms (?). The worst-case complexity of the best algorithm
is O(m3) where m is the number of topics. However, since we have added more constraints, and we solve
relatively small problems, it is easier to formulate the problem simply as a binary linear program instead
of adapting a specialized algorithm. However, solving a binary linear program is NP-hard ?, no algorithm
with polynomial complexity is known. Still, all linear programs reported in the results section of this paper
4
to 100 students.
A linear program describes a problem in terms of linear equations and inequalities and a linear opti-
mization criterion. Assume we have n real-valued variables x1; x2; : : : ; xn, each of which is constrained to
be non-negative, i.e., xi 0 for i = 1; 2; : : : ; n. There are m linear equality or inequality constraints over
the xi, each of the form:
aj1x1 + aj2x2 + : : :+ ajnxn = b;
aj1x1 + aj2x2 + : : :+ ajnxn b; or
aj1x1 + aj2x2 + : : :+ ajnxn b
Given these constraints, we wish to nd values for the xi that minimize (or maximize) the value of the
objective function
c+ d1x1 + : : :+ dnxn
Such problems can be solved eciently in polynomial time (?), however, the real-valued variables xi can
only occur in linear form.
The formulation of the modied LSAP can be used without further modications. All we need is add
constraints making explicit that the aij 's are either 0 or 1. Adding these constraints transforms the linear
program into an NP-hard binary linear program.
Pn
i=1 aij = 1 for all j = 1; 2; : : : ;mPn
j=1 aij 1 for all i = 1; 2; : : : ; nPn
i=1
P
j2tk
aij 1 for all k 2 SPn
i=1 aij = 1 for all j 2 TPn
i=1
P
j2tk
aij h for all themes k
aij 2 f0; 1g for all i = 1; 2; : : : ; n and j = 1; 2; : : : ;m
(8)
The optimization criteria needs to be slightly rewritten using the matrix a dened by equation 1.
min
nX
i=1
mX
j=1
aij cij (9)
Earlier it was mentioned that instructors could also express preferences and not just constraints. For
instance, topics could be given a weight expressing the instructor's preference for them. Let wj > 0 be the
weight for topic j where a larger value implies a higher preference. Then, the minimization criterion could
be simply rewritten as
min
nX
i=1
mX
j=1
aij cij
wj
(10)
5. Results
The linear program has been used in the planning of several courses. The implementation takes as input
the themes, topics, instructor's requirements and preferences for each student, and generates a human-
readable output via a LATEXle (?) displaying paper assignments and a schedule for the whole semester.
The appendix of this article provides an example implementation of the linear program.
The linear program was applied to real student preferences and instructor constraints. The data for the
three classes A, B and C are shown in Table 1. The numbers show how many students were assigned a
paper ranked rst, second, etc. A rank of one means that the student was assigned his or her most preferred
topic, a rank equal to two implies that the second-most preferred topic was assigned to him or her, and so
on. Approximately 89% of the student were assigned one of their two most-preferred topics, and none was
assigned a topic that was below rank four. The reaction of the students to their assignment was always very
positive and seems to be reinforced by letting them know that the topic assignment is optimal.
5
students had a topic assigned at that rank.
Rank A B C
1 14 11 15
2 2 5 5
3 2 0 1
4 0 2 1
5 0 0 0
Total 18 18 22
The results from simulated classes show a similar picture. The classes were generated randomly with
the number of students n = 15 : : : 50 and the number of themes between n=2 and 2n=3. Each theme had
between two and six topics. One third of the themes were required and the preferences of the students were
random. Assigning the topics in 100 classes resulted in 65.8% of the assigned topics were ranked rst and
89.6% were either ranked rst or second. No topic below rank ve was assigned.
In the presented results, the students' interests were reasonably evenly distributed. This was even more
so in the case for the random assignments. However, student preferences can be construed in such a way
that even a mathematically optimal solution is not satisfactory. Assume that each of the n students has
exactly the same preferences for their top m topics. The best possible assignment results in one topic each
at ranks 1 to m leaving quite a few students unhappy.
6. Conclusions
Frequently, a good teaching method requires more eort from the instructor. Sometimes, it seem very
dicult to achieve the goal no matter the time one is willing to put into course preparation. Such a situation
has been the negotiation of course content between instructor and students. This paper addresses such a
situation and provides an elegant solution.
Motivated by the need for assigning students topics (or readings, examples, problems to solve, and so on)
they are inherently interested in, a method was developed solving this rather complex computational task.
The solution consists of a formulation of the pedagogical needs: Students have interests stated as preferences
and instructors have constraints that assure a pedagogically sound selection of topics. The actual solution
can be found with a rather simple linear program that eciently produces good results.
Explaining to the students that their preferences will be used to assign the papers optimally given the
parameters set by the instructors has made a big dierence. When I used to do it by hand, the paper
assignments were suboptimal and challenged by some students. Given that it was done by a person, it was
perceived as being somewhat subjective. The reaction to the topic assignments computed with the linear
program has always been very positive, and no student has ever shown a dislike about what was assigned
to them.
The tool to assign topics to students based on instructor requirements and student preferences has in
practice always returned excellent results. The requirements can be expressed in a relatively ne-grained way
by listing what topics are available and which ones must be assigned to a student. The students order the
topics based on which topic they would like to get assigned. However, in the future, this may be replaced by
a more indirect approach where students are asked to evaluate the topics according to a few criteria possibly
resulting in a pedagogically improved topic assignment.
Acknowledgements
I would like to thank Teresa Hubscher-Younger and Thom Baguley for their detailed and constructive
comments on the manuscript.
6
An example implementation of the solution developed in this article is described in this section. The linear
program is reformulated using the GNU MathProg modeling language, which is a subset of AMPL,1 because
this language is close to the mathematical formulation used in this article. Linear programs formulated with
the MathProg modeling language can be solved, for instance, with the mixed integer linear program solver
lpsolve2 or the GNU Linear Programming Kit (GLPK).3
A toy example with four students and two themes with three topics each is used. Although the model
below is written in MathProg, a similar formulation can be used in general programming languages like R,
Java or Python.4 The toy example is dened as follows:
Theme: Interfaces for people with disabilities
Topics: Lep04, *Hwa03, Fra00
*Theme: Ambient displays
Topics: Mat06, Pou06, Vog04
Students:
Jim [Mat06 Fra00 Hwa03 Vog04 Pou06 Lep04]
Mary [Mat06 Hwa03 Fra00 Lep04]
Jane [Fra00 Hwa03 Pou06]
John []
The starred topic and theme are required. The topics are given as references to articles in journals and con-
ference proceedings. The preferences of the students are listed in order of decreasing preference. Apparently,
John has no preference, that is, he (dis)likes all the topics the same.
The MathProg formulation consists of several parts. First, the parameters and the variable to be com-
puted are specied. Then the optimization criterion and the constraints are dened. Finally, the example-
specic data are assigned to the parameters.
First, the sets of students S, topics T and themes E are specied.
set S;
set T;
set E;
Next, the parameter for the rank r is specied.
param r{s in S, t in T};
If the value of theme[e,t] is 1, t is a topic in theme e. The binary keyword implies that the parameter's
values are either 0 or 1.
param theme{e in E, t in T}, binary;
If a topic t or theme e is required, the value of reqTopic[t] or reqTheme[e] is set to 1, respectively.
param reqTopic{t in T}, binary;
param reqTheme{e in E}, binary;
Next, the variable to be computed is dened. If a[s,t] is 1, student s is assigned topic t. This denition
corresponds to equation 1.
1Additional information about AMPL can be found at http://www.ampl.com.
2Lpsolve is available from http://lpsolve.sourceforge.net/ and can be used as a standalone program or from programming
languages such as R, Java or Python.
3GLPK is available from http://www.gnu.org/software/glpk/.
4The MathProg code described here as well as an implementation in Python can be downloaded from
http:/roland.hubscher.org/software/.
7
The optimization criteria is to minimize the sum of the ranks of the assigned topics as described by equation 9.
minimize cost: sum{s in S, t in T} a[s,t] * r[s,t];
The constraints are dened next. Constraint oneTopicPerStudent requires that one topic needs to be
assigned to each student. It implements equation 2. The abbreviation s.t. stands for `subject to,' {s in S}
states that the constraint holds for all students s, and the constraint is that the number of assigned topics
for each s is 1.
s.t. oneTopicPerStudent{s in S}: sum{t in T} a[s,t] = 1;
A topic can be assigned at most once. This constraints implements equation 3.
s.t. topicAtMostOnce{t in T}: sum{s in S} a[s,t] <= 1;
A topic from a required theme must be assigned. This constraints implements equation 5.
s.t. requiredTheme{e in E}:
sum{s in S,t in T} a[s,t] * theme[e,t] >= reqTheme[e];
Required topics must be assigned. This constraints implements equation 6.
s.t. requiredTopic{t in T}: sum{s in S} a[s,t] >= reqTopic[t];
No more than two topics per theme should be assigned. This constraints implements equation 7.
s.t. noMoreThan2PerTheme{e in E}:
sum{t in T,s in S} theme[e,t] * a[s,t] <= 2;
Finally, solve the linear problem and print out the solution, i.e., the assignments computed in variable a as
well as the rank r for each assignment.
solve;
printf "\nSOLUTION\n";
printf{s in S,t in T}: if a[s,t] then "%s -> %s\n" else "", s,t,r[s,t];
printf "\n";
This concludes the denition of the general topic assignment problem. Next, the actual data needs to be
assigned to the parameters and the sets S (students), T (topics) and E (themes).
data;
set S := Jim Mary Jane John;
set T := Lep04 Hwa03 Fra00 Mat06 Pou06 Vog04;
set E := IntDisab Ambient;
param theme : Lep04 Hwa03 Fra00 Mat06 Pou06 Vog04 :=
IntDisab 1 1 1 0 0 0
Ambient 0 0 0 1 1 1;
param reqTopic :=
Lep04 0 Hwa03 1 Fra00 0 Mat06 0 Pou06 0 Vog04 0;
param reqTheme :=
8
Ambient 1;
param r : Lep04 Hwa03 Fra00 Mat06 Pou06 Vog04 :=
Jim 5 2 1 0 4 3
Mary 3 1 2 0 4 4
Jane 3 1 0 3 2 3
John 0 0 0 0 0 0;
end;
The output of this program when run with GLPK shows that Jim, Jane and John got there rst choice and
Mary her second. Since John did not state a preference, any assignment results in an optimal assignment
for him.
SOLUTION
Jim -> Mat06 [0]
Mary -> Hwa03 [1]
Jane -> Fra00 [0]
John -> Vog04 [0]
9
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime


