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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. The students need enough feedback about their work.
  6. 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.

3.2 Newsgroups

Newsgroups are used for delivering annoucements and as an open discussion forum.

3.3 WWW

World Wide Web is used for delivering information and collecting feedback.

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: 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.

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/