With the aim to individualise human-computer interaction, an Intellige
nt Tutoring System (ITS) has to keep track of what and how the student
has learned, Hence, it is necessary to maintain a Student Model (SM)
dealing with complex knowledge representation, such as incomplete and
inconsistent knowledge and belief revision. With this in view, the mai
n objective of this paper is to present and discuss the student modell
ing approach we have adopted to implement Pitagora 2.0, an ITS based o
n a co-operative learning model, and designed to support teaching-lear
ning activities in a Euclidean Geometry context. In particular, this a
pproach has led us to develop two distinct modules that cooperate to i
mplement the SM of Pitagora 2.0. The first module resembles a ''classi
cal'' student model, in the sense that it maintains a representation o
f the current student knowledge level, which can be used by the teache
r in order to tune its teaching strategies to the specific student nee
ds. In addition, our system contains a second module that implements a
virtual partner, called companion, This module consists of a computat
ional model of an ''average student'' which cooperates with the studen
t during the learning process. The above mentioned module calls for th
e use of machine learning algorithms that allow the companion to impro
ve in parallel with the real student. Computational results obtained w
hen testing this module in simulation experiments are also presented.