Internet-based Training of Data Structures and Algorithms
Ari Korhonen, Lauri Malmi
Department of Computer Science
Helsinki University of Technology
Ari.Korhonen@hut.fi, Lauri.Malmi@hut.fi
Abstract
In this paper, a learning environment for the data structures and algorithms
course is presented and discussed. The system is based on combining standard
telematic tools like email, newsgroups and WWW pages with a dedicated tool
for the target course, and the experience shows that such a combination
is highly successful in a mass couirse of hundreds of students.
This paper is available in the URL: http://www.cs.hut.fi/~lma/TRAKLA_text.html.
1. Introduction
Helsinki University of Technology (HUT) is the leading technical university
in Finland. About 1300 new students are enrolled each year, and of
these over 200 start the computer science curriculum. In addition,
most students from other curricula take several computer science courses
during their studies. For example, the number of students which take
the basic programming courses varies currently from 200 to 700 students
per course.
Due to the vast masses of students on the basic courses we have used
different telematic tools, like email, newsgroups and WWW for information
delivery and communication over 10 years. In addition, several projects
have been carried out for developing tools which aid studies, especially
in the programming courses. One of such tools is the WWW-TRAKLA system,
which we use for teaching data structures and algorithms /1,2/. It is a
dedicated tool for the delivery and automatic checking of algorithmic assignments.
This tool is an integral part of the course and it enables us to provide
assignments for the students such that were not possible when using human
teaching resources. We can use personally tailored non-trivial assignments,
give immediate feedback for the students and allow them to correct their
answers. As a result of using such possibilities we have very good
learning results.
The TRAKLA system has been used in HUT since 1991. During the
first years all communication with it and the students was carried out
by email, and in 1997 the Web interface was added. Currently we are
working in the LEAD project /3/ in which we develop a learning environment
of data structures and algorithms.
In the current project we have discussed a lot the role of different
telematic tools in education. Our experience shows that each of them
can have its own role, which often partially overlaps the role of other
tools. Moreover, we feel that standard tools like email, newsgroups
and WWW pages are quite sufficient for building a good learning environment.
This view is somewhat contradictory to the current trend where integrated
learning environments, for example, the WebCT tool, are being developed.
We argue that integrated environments have some problems which traditional
tools do not have. First, the students have to learn a new system instead
of using general-purpose tools which they use in their everyday communication.
Second, some maintainance work have to be done by the teacher when a more
obvious way would be to use system maintainance resources. Third,
it is not so obvious how to add new facilities to these tools, when the
existing properties fail to meet the needs of a particular course.
This holds in our case, since we necessarily use the TRAKLA system for
the registration of students. Moreover, TRAKLA uses the standard
tools for communication and we find no advantages of using it in parallel
with some integrated tool. Actually we have concluded that what we
need in our courses is a simple way of configuring an environment for each
course separately, such that uses the standard tools and allows a loose
interface for adding dedicated tools to the environment.
In this paper, we consider first in the Section 2 the general needs
for electronic communication in our courses. In Section 3 we discuss how
various telematic tools respond to these needs. In Section 4, we
present our experiences about the WWW-TRAKLA system and in the final section
we discuss, how we see the field of electronic communication in education
in general.
2. General communication needs
In the following, we discuss the needs for communication from the view
of the basic programming courses since we have been developing their contents
and organization for a long time. Most of the observations, however,
are relevant for other basic courses, as well.
The basic courses in HUT include an introductory programming course
(5 credits) followed by a course of data structures and algorithms (3 credits).
The first course has 3 parallel versions, of which one is dedicated for
students of computer science curriculum and the other two are directed
to students from other engineering curricula. The second course has
two parallel versions.
We have identified the following needs in communication between the
students and the teachers.
-
The teacher needs facilities for delivering information for the students.
This information includes, for example, the schedule and requirements of
the course, supplementary course material, announcements etc.
-
Students need advice during their studies and they need to discuss with
their fellow students. The advice and discussion can be either private
or public.
-
The teacher needs to collect feedback from the students. It is good
to have a possibility to give anonymous feedback since some students may
worry about their grades if they critisize the course contents or arrangements
on their own name.
-
The teacher sets up assignments for the students and they return their
solutions, essays etc. for evaluation. The evaluation can be either
manual or automatic.
-
The students need enough feedback about their work.
-
The teacher may want to allow students to read the work of other students,
for example, in order to provide examples of good work or to allow the
students to critisize the work of other students.
In addition, we have to live with some practical limitations. First,
the human teaching resourses are very limited. For the denoted five
courses we have in total 4 full-time teachers and several tens of student
assistants. The teachers typically give the lectures, provide course
material and organize the arrangements of the course, and the student assistants
give guidance in the classroom exercises and during the office hours. Second,
many students do not attend the lectures, either because they have other
lectures at the same time, or because they want to study on their own.
A number of students are working full time and therefore they take the
course as distance education. Thus, we have a very different environment
compared with traditional classroom courses.
3. Technical solutions for general needs
Various electronic communication tools are very useful for meeting the
challenge described in the previous section. Since there is nothing
new in this, we present only briefly the role of email, newsgroups and
WWW in our courses. We also stress here that although we discuss
only the electronic communication, we have no aims of transferring whole
courses into the Web. We have lectures, classroom exercises, and
office hours for discussing problems personally with the students.
The electronic communication only supplements these traditional teaching
methods.
3.1 Email
We use email especially for personal communication and advising.
-
Each course has a unique email address to which the students can send their
questions. The student assistants read this email and answer the questions
during the course. The students get the answer typically within a
few hours, or at the latest on the following day (exluding weekends).
Since the number of messages is large, the teacher does not respond to
these messages.
-
The student assistants direct some questions and comments to the teacher,
if they feel they cannot answer them. Some students also send messages
directly to the teacher, but we do not encourage this in practical programming
problems. The teacher has no capacity for handling many such problems.
-
When the students are working on their personal project, each of them is
assigned a particular student assistant who guides their work, accepts
the demonstration of the project and assesses the code and the documentation.
Then, the student is given the personal email address of the assistant
and they can communicate directly with each other without the extra delay
caused by the course mail address, which is monitored by other assistants.
-
Since we have a register of the email addresses of all students, we occasionally
send a message to all of them. Such messages deliver urgent information,
which should reach the students fast.
-
In addition to weekly meetings with the student assistants the teacher
gives guidance to them by email, too.
3.2 Newsgroups
Newsgroups are used for delivering annoucements and as an open discussion
forum.
-
Each course has one or two newsgroups. In the latter case, one newsgroup
is used for announcements given by the staff, and the other is used for
questions of the students and for discussion. The separation into
two groups has been useful since then it is easier to find the appropriate
announcement messages afterwords. The discussion group is, of course,
followed by the teacher and the student assistants. Occasionally
also some other faculty members give answers and typically technical comments
to the questions, although they do not belong to the course staff.
-
When the teacher wants to give answers to email questions which are of
general interest to students, he sends them to the discussion newsgroup
in addition to the student who made the initial question.
3.3 WWW
World Wide Web is used for delivering information and collecting feedback.
-
Each course has a home page which contains long-term information about
the course, such as contact information, course description and schedule,
guides for exercises and projects etc. Some information is delivered
both in the newsgroup and on the WWW page, but typically long and complicated
instructions are better presented in the Web.
-
Web is a natural tool for publishing supplementary material for the course.
-
The results of the assignments and projects are published in the Web.
However, we restrict this information so that it can be accessed from computers
under the university domain only. We do not wish such pages to find
their way into search engines like Alta Vista, e.g.
-
The students can send feedback from the WWW page to the teacher.
During the course there is a simple feedback form using which feedback
can be given anonymously. The teacher reads the feedback and responds to
it in an appropriate way. Often the response is published in the
course newsgroup together with the initial feedback text.
-
At the end of the course, or at the end of some of the course, a feedback
questionnairy is published in the Web. A simple script program is
used for gathering the statistics about the answers.
4. The WWW-TRAKLA system
In short, TRAKLA is a system which delivers assignments for the students,
receives their answers and grades the answers automatcally. The assignment
are non-trivial in the sense that the students have to simulate the working
of different algorithms and show how the given algorithms change the contents
of data structures they handle. An example: "Insert the following
keys in this order into an empty binary search tree, E X A M P L E T R
E E. Show the final tree. Thereafter delete the keys R and
X and show the final tree."
In the email-based TRAKLA system the students send their answers by
email in a predefined format to the TRAKLA server. This arrangement
has some obvious drawbacks. First, the students may loose points
for trivial format errors which have nothing to do with the initial assignment.
Second, most data structures are more naturally presented in a graphical
form instead of some cumbersome Ascii presentation format. In order to
remove these problems, the WWW interface to TRAKLA was built in 1997 /
2/. It gives each assignment a graphical editor which presents the
data structures in their natural form. The students can solve the
problem by using the keyboard and the mouse in the interaction. Moreover,
they can browse their solution backwords and forwards as a list of states
of the data structure. Thus, they can ensure that their solution
is correct before submitting it to evaluation. WWW-TRAKLA then converts
the answer to the format understood by the TRAKLA server and sends the
answer to it.
A very important feature of the system is that we can generate a unique
initial data for each student. Thus, although the basic assignment
is the same for all students, they all have to solve a personally tailored
assignment. This has obvious advantages for learning. They
cannot copy their answers from anybody. Moreover, we can now encourage
natural co-operation between the students. They can discuss the problem
freely so far they do not solve each other's assignment totally.
A second, very important feature is that the system gives almost immediate
feedback for the students after the submission. They get the grading
and we allow them to correct their answers a few times, typically 3-5 times
per assignment. This allows them to learn from their mistakes.
We stress here that they have to think about their solution anew for each
new submission, since the solution space of the assignments is simply far
too large for using mechanical trial-and-error method.
After the deadline for submitting the answers we send the model solutions
for all students by email. Thus, they can check what was wrong, if
they did not get everything correct.
For most assignments we provide hints in the Web. We have also an exercise
mode of the assignments. This feature means that the students can
make free exercises on a given fixed data, submit their answer and get
the model solution for that data. They can thus exercise on the topic
before working with their own personally tailored data.
5. Experiences and further development
We have tried to find ways how various telematic tools could support best
the learning process on our courses. In many cases we have been successful,
since the students give good feedback to us and the learning results are
good. In summary, our experiences about the standard tools are the following:
-
The email service works well in a mass course, when there are enough assistants
for answering the questions so that we can guarantee fairly quick response
to questions and comments. This suits well to many students, who
work at home and dislike coming to the campus at certain a time.
The student assistents also like to work at home in the evenings.
-
It is important to identify the responsibility strictly for each assistant.
We have used both temporal sharing of responsibility, e.g., an assistant
takes care of email service one week at a time, and responsibilities related
to certain topics or student groups in the course.
-
The email service works only on small problems and on routine matters.
In complicated programming problems face-to-face discussion is preferred.
-
The teacher should limit his/her part in email advising, since it is more
difficult for him/her to guarantee quick response time.
-
The newsgroup discussion is a useful tool both for the students and for
the staff. The students send questions to the newsgroup and they
often get the answer faster than from the email service, since the more
advanced students willingly share their knowledge. Occasionally comments
to some special topics are received from outside the course, when other
members of the faculty follow the newsgroup, as well.
-
A newsgroup suits well for getting immediate feedback from the students
as well as providing the teacher's comments for them.
-
WWW offers a nice way of organizing anonymous feedback from the students.
-
WWW is a wonderful tool for making questionnairies. If the students
get some small advantage of answering the questions, very high percentage
of them answers sincerely. The summary results are easy to publish
in the web and the teacher can comment on them in the newsgroup.
TRAKLA has been a valuable aid for us. In spring 98, more than 500
students took the course of data structures and algorithms, and each of
them had to do some 25 algorithmic exercises using the system. These
exercises covered most of the basic data structures and algorithms discussed
in the course. The results were fine. About 60 percent of the
students received the highest grade of this part of the course, which required
that they got at least 90 percent of maximum points. At this phase
we do not have the final results about the course of this spring but the
intermediate results seem to reach the same figures.
These results have given us as teachers a solid knowledge that the students
truly have learned the basic topics in the course and we could set up more
advanced exercises on this. Last year the other exercises dealt with
inventing new algorithms for small new problems and analyzing the working
of simple algorithms. This spring (1999) we gave them two larger
design projects which they solved in groups of 2-3 persons. In the
first project they devised basic algorithms and data structures for a simple
search engine for documents. In the second project they invented algorithms
for a system with which a person can query time tables and routes for public
transport. An example, "give the fastest connections from point A to point
B and which bus lines should be used".
The students returned their designs as HTML pages which we copied to
our computer. Then, we sent the same designs, i.e., the URL, after
anonymization, for evaluation for other groups. Each design was evaluated
by five other groups and each group had to evaluate five designs, choose
the best of them and write down their comments. The comments were
returned as HTML pages and delivered to the original group, as well to
us. In this way the students got a realistic view, how difficult
it is to present a solution in a readable form and what kind of problems
are encountered in the evaluation. Since each work was evaluated
by a number of groups, we could compare their evaluation reports in addition
to the original work. Both parts, the design and the evaluation was
graded.
Our experience was that the students learned a lot during the design
process and the evaluation. However, two such projects caused too
much work for them. In addition, many students found the evaluation
phase very difficult. Therefore the evaluation reports were partly
superficial and contained obvious errors. We concluded that we cannot
use the students for grading each other's work. The teacher and the
assistants have to take care of it. However, the students should
read each other's work and comment them.
The implementation of this phase was carried out by simple script programs,
since we did not have a tool for managing such operations.
5.1 Some comments on a learning environment
The whole system we are using, which includes WWW-TRAKLA together with
email, newsgroups and WWW pages can be considered a learning environment
for data structures and algorithms. It works fine and supports most of
our needs. We are, however, developing it further in the LEAD project
/3/. Essentially, we want to enhance the feedback TRAKLA gives for
the students. Currently it evaluates only a few intermediate states
of the data structure, and it does not evaluate the process how the data
structure entered this state. We shall add such a feature to the
system, and then we shall be able to give better feedback, where the error
occurred in the solution. Then it is also easier to prepare simple
commented animation examples of algorithms as supplementary material.
With such tools we aim to build more electronic course material in the
Web. We are not going to include very much text in the new material,
since a text book is a better tool for such representation. On the
other hand, interactive exercises with feedback and commented example animations
give some true extra value for using the environment.
During the development of our system we have had to consider, what is
the role of each telematic tool that we use. We could summarize our
view in the following way.
-
First, before taking any actions of using electric tools, define what is
your problem. Do you need anything new or is current the traditional
environment good enough for your needs? In our case the key problem was
the number of students and how to provide enough feedback for them and
to enhance the communication between them and us teachers.
-
Second, if there is an obvious problem, use the basic technology for your
needs. The students know how to use email, newsgroups and WWW and
they like to choose their client (mail program, WWW browser, etc. ) to
such system. We should not push them using new systems. In our case
standard email, newsgroups and WWW solved most of our problems.
-
Third, when standard tools are not suitable, try to find a working solution
done by someone else. You probably will find it in the Web.
In our case, no such tools were available when we started the TRAKLA project
in 1990.
-
Finally, build your own system if no other solutions exist. Prepare
to spend time and resources for implementation, maintainance and operation,
and evaluate beforehand whether this pays for the advantages your claim
to achieve.
We do not see that any integrated learning environment currently available
could solve our problems, since the key problem is the dedicated feedback
for a special course.
References
/1/ J. Hyvönen, L.Malmi, TRAKLA - A System for Teaching Algorithms
Using Email and a Graphical
Editor. Proceedings of HYPERMEDIA in Vaasa'93, pp. 141-147, 1993.
/2/ A. Korhonen, World Wide Web (WWW) tietorakenteiden ja algoritmien
tietokoneavusteisessa
opetuksessa (World Wide Web in Computer Aided Instruction of Data Structures
and Algorithms), Master's Thesis, Department of Computer Science, Helsinki
University of Technology, 1997.
/3/ The LEAD project home page. See, http://www.cs.hut.fi/~tred/LEAD/