In addition, although not utilized in the current
version of MAX/C, the interpreter can be used to pro-
vide more sophisticated interactions with the submit-
ter of the program. For example, the system could
ask questions on the execution process of the submit-
ted program, in order to confirm the understanding of
the submitter, even if the submission is correct. Our
interpreter is designed to facilitate such uses. Exploit-
ing the full potential of the interpreter is part of our
future research.
As an auxiliary means, a compiler is used. This
is limited to the case where the execution time of the
program is expected to be huge.
3 INTEGRATION INTO SAKAI
3.1 Background of the Integration
In the version of MAX/C before integration into
Sakai, the following shortcomings were recognized.
1. The course contents and the system were rather
tightly coupled. For example, adding new con-
tents required the reconfiguration and redeploy-
ment of the system and there was no support for
adding contents online. It was also necessary for
the contents authors to have some detailed knowl-
edge of the system.
2. There was little support for managing the drill re-
sults and the exercise problem submissions. Logs
and submissions were stored in a file system and
the teachers relied on offline codes that process
the information stored in the file system, when
they examine students’ progress or read submis-
sions. Again, there was no online support for
those tasks.
3. There was no support for communication between
the students and the teaching staff, among the stu-
dents, or among the teaching staff members.
The first two issues are clearly serious. We also
felt strongly the need of addressing the third, because
of the following situation in class. The students en-
rolled in the course are grouped into two classes, each
consisting of 50 to 70 students. Each class is taught by
a teaching staff consisting of one faculty member and
3 teaching assistants. The role of the teaching staff
is primarily to answer questions, as there is a lecture-
type course taught in parallel, where the students learn
the concepts necessary to answer the questions and
solve the problems given in our course. The teaching
staff is generally busy and, at peak times, cannot serve
all requests of the students. To ease their burden and
create more time to be spent for students whose needs
are serious, there are several measures to be taken.
1. Improve the quality of the feedbacks provided by
the MAX/C contents. This will help the students
to resolve some of the questions for themselves,
which they may currently ask the teaching staff.
2. Provide communication tools such as Wiki and
FAQ, with which students may be able to resolve
some of the questions. A public forum for stu-
dents helping each other would also help pro-
moting healthy cooperationamong students rather
than outright cheating.
3. Provide tools for the teaching staff to easily grasp
progress of each student and the class as a whole.
This would help the staff to appropriately allocate
their limited resource.
Through the integration of MAX/C into Sakai we
planned to take the second and the third measures, as
well as to address the first and the second issues listed
earlier.
3.2 Adding New Functions
Many of the functions to be added, described in the
previous subsection, are standard in typical course
management systems. Therefore, it is reasonable
to employ a course management system rather than
to newly develop those functions and add them to
MAX/C. The course management system we have
chosen is Sakai(Sakai Foundation, 2005).
Sakai is open source e-learning system that is used
by more than 150 educational institutions all over the
world. Each function of Sakai is embodied by what
is called a tool in Sakai. Sakai has many tools for e-
learning which we can readily use. Our strategy of
integration is to port MAX/C as a Sakai tool, as well
as to develop a new independent tool for course man-
agement which satisfies our special needs that are not
satisfied by the general tools present in Sakai.
Most new features of the integrated system are im-
plemented in the independent management tool de-
scribed in the next section.
The main purpose of the newly developed man-
agement tool is to help the teaching staff to grasp the
progresses of the students in the classroom. Two vi-
sualization features are used for this purpose. The
classroom map is a map of the classroom where the
seats of the students are displayed with colors depend-
ing on their progress. See Figure 2. Students at blue
seats are the most advanced, light blue, green and yel-
low following in this order. Although not shown in
this figure, students at red seats have made almost no
MAX/C ON SAKAI - A Web-based C-Programming Course
199