ITiCSE 2000

Latest info
 Changes to printed prg

Conference venue
 Public transportation

Updated CfP
 Author info

 Paper abstracts
 Poster program
 Notes for speakers
 Notes for posters
 Notes for demos

WGs program


Registration on-line



Contact info

Important dates


Invited speakers

Tourist info
 Extra tours

Other info


 Visualization workshop
 SIGCSE 2000
 ITiCSE 2001

The Poster Sessions of ITiCSE 2000

Algorithm Visualization using QuickTime Movies for Student Interaction: Algorithms from Computational Geometry

Jay Martin Anderson (, Franklin & Marshall College, USA and Institut für Computergraphik, Technische Universität Wien, Vienna, Austria

Studies suggest that student interaction with the animation or visualization is essential to increase efficacy of algorithm visualizations in learning. Recent advances in the QuickTime® technology allows for a textual explanation of the steps of the algorithm, and allows for the animation to stop and pose a question to the student.

With the advent of fast connectivity and cross-platform software, an older model of decoupled algorithm and visualizer can be discarded in favor of a model which permits a higher level of student interaction with the visualization. In this model, the student can stop and start the visualization, see a textual explanation of what the algorithm is doing, and be prompted to answer questions about the steps of the algorithm.

We are exploring the use of QuickTime movies to achieve student interactivity. Movies can be embedded in web pages, or streamed from servers. QuickTime allows the presentation of text along with the moving picture, and for interactive control of the presentation by means of "sprites." Multiple text tracks in multiple (natural) languages allows a QuickTime movie to be international.

However, The instructor must provide movies, and the student must download movies, which allow the student to navigate thoroughly the data space. Movies are large, and there can be a waiting time before the student sees the visualization.

I chose to use algorithms from computational geometry to explore the possibilities of using movies in computer science instruction. Movies will be shown at the poster session, and are also available for viewing at algoviz/AlgoCompGeom01.html

A Versatile Assignment in CS 2: A File Compression Utility based on the Huffman Code

João Paulo Barros ( ), Rui Pais (, Instituto Politécnico de Beja, Portugal

The objective that led to the creation of the assignment was to train students in the design and use of data structures as well as the design of simple class hierarchies, through the construction of a motivating application amenable to a step by step implementation. That allows an incremental integration of the data structures as they were presented along the semester. The chosen application was a compressor/decompressor based on the Huffman code [1] in the form of a command line application. A good presentation of the Huffman code and associated coding and decoding algorithms can be found in [1].

The coding phase implies the carrying out of the following code: Byte reading; a vector of counters; a priority queue; a Trie [1]; a leaf to root Trie iterator and bit wise output. For the Decompressor the following is necessary: bit wise input; a root to leaf guided Trie iterator; byte writing. The assignment versatility comes from the different kinds of code necessary to implement the compressor/de-compressor.

Agents, Profiles, Learning Styles and Tutors

Constance G. Bland, Mississippi Valley State University, USA (, Pamela B. Lawhead, The University of Mississippi, USA (

Using the Web in an instructional environment is fraught with difficulties. The SMART Learning System Model overcomes many of these by simultaneously addressing multiple domains, Learning Theories, Multimedia Presentation Formats, Profile Creation, and Knowledge Bases. The goal of the system is to present individual learners with knowledge base information in a manner that best enhances the student=92s ability to acquire it. The multiple facets of multimedia are used to enhance the presentation of the subject matter, using the most effective format for an individual learner. The multiple components of the system are independent thus, while the system was tested using Computer Science in the knowledge base, any subject matter could potentially be taught using this effective system. Likewise, any learning style inventory could be used to develop individual user profiles. SMART works by first creating individual user profiles, then allowing the student to choose a lesson. That lesson is then presented to the student in a rich multimedia environment that is automatically adapted to the student=92s profile. Since SMART uses profiles and supports all facets of available multimedia in a hypermedia environment it provides Web Based instruction that overcomes many of the difficulties found in on-line instructional environments which are often, flat Web Pages that do not engage the learner. It has been successfully tested in beginning Computer Science courses and found to significantly enhance instruction.

    Abstract Solution Design by Specification Refinement

J.M. Burgos, J. Galve, J. García, J.J.Moreno, S. Muñoz, D.Villén Technical University of Madrid, Spain {jmburgos, jgalve, juliog, jjmoreno, susana, dvillen}

The scope of this work is to serve as support in an introductory programming course. The proposal addresses the problem of how to construct programs from specifications formally and incrementally. As key idea, we use a taxonomy of problem specification schemas, each representing a family of related problems. Actually, the proposal is mainly focused on providing an abstract design framework for problems involving data collections, by means of an understandable adaptation of the decrease-and-conquer problem theory.

Despite years of research on programming instruction and specification languages, there has been relatively little work on formal techniques applied to organize the programming knowledge in a comprehensive model. We want students to use specification schemas as the building blocks of programs, to acquire and describe the chunks of knowledge they use when writing programs. In order to achieve this goal, we propose the following:

  1. A taxonomy of problem specification schemas, as the first level of building blocks for programs.
  2. An abstract design theory based on the specification refinement, as the framework to describe problems, abstract solutions and abstract algorithms through a stepwise process.

As a result, it should allow us to provide students with a realistic and well-guided design experience [1].

[1] JM Burgos, J. Galve, J. García, J.J. Moreno, S. Muñoz, D.Villén : Abstract Solution Design by Specification Refinement. Technical Report =96 FIM (UPM), 2000 (to appear). See also,

What the Students said about Plagiarism

Janet Carter, University of Kent at Canterbury, UK, (

Plagiarism is unfortunately an ongoing problem, and with the recent emergence of web sites devoted to providing assessment solutions, it is set to increase. Staff are addressing the issue in a variety of ways, but this poster presents the initial findings of some pilot research aimed at uncovering what the students themselves have to say about the issue.

A group of undergraduate students were asked to complete an email questionnaire about their own working habits and their views on aspects of acceptable working practices for which their actions suggest a difference of opinion with staff. Their responses to the questionnaire were not anonymous, but they were assured of confidentiality.

In order to gain a representative cross-section of opinions by ethnicity and gender, a stratified sample of 50 students was chosen. The number of students was deliberately kept small because of the nature of the analysis of qualitative data. The response rate was 84%. The most common definition of plagiarism is "to steal the words, ideas, etc of another and use them as one's own", but many of our students hold different constructions for the meaning of the word. The students in this survey all stated that they believed understanding to be the key factor, rather than originality. If you understand the work you have handed in then learning has taken place. The fact that the plagiarism detector used by the lecturer has highlighted non-coincidental similarities in two solutions does not make the students think they are doing wrong, rather that the system is unfair.


John Impagliazzo, Michael Tashbook, Hofstra University, NY, USA

Within the proof of Kleene’s Theorem, a deterministic finite automaton (DFA) and a related regular expression (RE) are shown to have equivalent expressive abilities. A method to prove this relationship employs a series of constructive algorithms to generate the union, product, closure, and intersection machines for a DFA representing a particular RE. Some of the existing DFA simulators available to theory students do not present this material, or simply present it without the benefit of any instructional features.

The Constructive Algorithm Visualization Environment (CAVE) was designed to simulate the DFA and RE equivalence (with the exception of closure). CAVE allows users to apply the operations of DFAs. Beyond simply applying these algorithms to user-supplied DFAs, CAVE also provides a feature called “Tutor mode,” whereby students are presented with a step-by-step explanation of the algorithm’s progress. When Tutor mode is enabled, CAVE makes a valuable teaching aid and laboratory tool for computer theory students.

This poster session will illustrate some of the features of CAVE and allow participants to experiment with its use. Michael Tashbook, a graduate student at Hofstra University, developed CAVE as part of his studies to complete his master's degree.

Discovering Learning Patterns from Web Logs by Concept Transformation Analysis

Chih-Kai Chang, Da Yeh University, Taiwan, ROC (

As Web-based course become popular, the Web system accumulates a large amount of log data. Because the log data was generated by learners=92 behavior on the Web based course, many researchers agree that analyzing the Web log will bring benefits for learners, instructors, and the Web site manager. In general, one record of Web log can indicate "which Web page was accessed", "who access that Web page", and "when the Web page was accessed". There are many products of Web log analysis for commercial web sites []. The technologies used for analyzing Web server log evolve from traffic-based or time-based assessment to user access pattern analysis. Although many interesting results can be derived merely depending on the general Web log by those products, some important meanings of the Web log were not considered. In other words, the concept, represented by the Web page, is not included in the general Web log. For instance, a Web page may present homework, a discussion article, a section of curriculum, or a grade reports. However, they did not consider the represented concept of a Web page in the Web log=2E

To mining the pedagogical meanings from Web logs, the first requirement is to replace the hierarchy of a Web course site with a concept hierarchy. Then, mining sequential access paths on the concept hierarchy can discover learners=92 learning patterns. This poster proposes a multi-dimensional methodology to analyze general Web log for discovering learner access patterns in any dimension of the concept hierarchy. Hence, the methods of previous products still can be used to find the more meaningful results.

Reference: Internet Product Watch (1999). Internet Product Watch: Analysis Products. Online document at (no creation or modification date available).

A Multi-modal Chat for Coordinated Interaction

Ng S. T. Chong, Masao Sakauchi, Institute of Advanced Studies/United Nations University, Japan

Off the shelf multi-party synchronous communication tools such as IRC are among the most generic instructional technologies used in distributed learning and cooperative work. For example, they are often used in parallel during a lecture broadcast to enable feedback and group interaction. Despite their popularity, current chat tools do not provide adequate support if any for modeling custom user coordination policies. They assume a single fixed form of interaction. Coordination policies define the interaction rules and mechanisms that control the way participants meet and talk. They usually depend on the context and format of the meeting (e.g., lecture versus conference) and the organizational structure of the group (e.g., teacher-to-student relationship versus peer-to-peer relationship).

The problem with current chat applications is that they have no support for the enforcement of user-defined coordination policies. As a result, in many cases the correct execution of a policy is left entirely to the informal agreement and cooperation among the chat participants. But, social protocols offer no guarantees and therefore are not reliable.

The aim of this work is to provide a general and realistic solution to the problem of inadequate computer support for control and coordination found in chat applications. GCC-IRC is an enhanced chat framework that enables IRC users to define and dynamically change the rules that govern the user interactions and makes simple the development of new interaction features, such as voting. In this way, our enhanced IRC client can be reused for different interaction scenarios without modifying the chat application itself.

Structural Example-bSased Adaptive Tutoring System (SEATS)

Alex Davidovic, University of South Australia (, James Warren, University of South Australia (, Elena Tricina Institute für Computersysteme ETH Zentrum, Zürich, Switzerland (

The proliferation of computers, the advent of Internet and the steady gain in popularity of Distance Education greatly influence how the curriculum process is conducted today. Educational institutions are under more pressure than ever to provide their materials electronically and cater for the needs of individual students. In the simplest form, the on-line materials are the quick adaptation of lecture notes with some additional search and browsing capabilities, thus presenting the domain knowledge in the form of an electronic book. At the high end the domain knowledge is encoded in an expert model as part of an Intelligent Tutoring System that maintains student models and attempts to teach "intelligently" by adapting its teaching strategy to individual needs and abilities=2E

Our hypothesis is that tools based on sound didactic principles, such as Structural Example-based Adaptive Tutoring System (SEATS), result in the acquisition of significantly greater knowledge than is achieved by studying out of electronic books. The intelligent adaptivity catering for the individual student's learning styles and abilities should further enhance the cognitive knowledge acquisition. However, the extent of the gain is difficult to predict due to the inherent limitations of Intelligent Tutoring Systems to accurately represent a student's state of mind via student model. The project aims to give insight through an experiment as to how effective "intelligent" tutoring is by comparing the students' results when the tutoring system is running in adaptive and non-adaptive modes. The result of the research should provide one possible blueprint for creating more efficient, pedagogically sound tutoring systems that are proactive in shaping student's problem-solving skills.

Ehtical Knowledge For an Electronic Era

Gladys García Delgado Simon Rodriguez University, Venezuela

Humanity is facing a technological and social revolution. The reciprocal links between technology and social contexts as well as the social impact triggered by technological changes are present in all social institutions, organizational arrangements, human relations and symbolic structures. The microelectronic mode of production, now dominant, is producing different behavior patterns and unexpected ways of observing and understanding social life. It is urgent for computer professionals to bear in mind the wide-ranging implications of the electronic revolution and the concomitant importance of assuming ethical values. It is also important to open discussion of the ethical implications of this profession for society at large. Social relations are the 'real' web for humans. There is, therefore, a need to analyze the social behavior taking place in virtual spaces, recognising that there are different rationalities to be identified among those groups working together in order to produce knowledge: academics, technologists, industrialists and lay men and women. A computer science professional has to consider all these viewpoints in order to develop scientific and technological knowledge, which is socially appropriate and relevant. A debate about ethics within and among disciplines and interests is Crucial since there is a need to establish new rules for the emerging global and virtual society. The rejection of indifference is crucial nowadays. The ethical debate, more than ever, has social implications unknown in other times. Information systems are able to process huge amounts of data but only human beings can turn data into ethical knowledge.

Software System to Learn Objects

Evgeny Eremin (, Perm State Pedagogical University, Russia

Objects are widely used in modern software - not just only in programming but practically in all software systems, such as Windows 95, MS Office etc. Object concept is also useful in other disciplines: physics and biology for example.

The author has developed a special educational computer program "System Builder" ("SB"), which allows constructing system from different objects. This pedagogical tool can be used in different audiences both for formation of object slant to the phenomenon analysis and for introduction to modern programming systems like Delphi and Visual Basic=2E

Main concepts of the program are object, its type, property and method. To make learning of these theoretical categories more interesting in "SB", we study them projecting and building a virtual world on the display screen.

At first we define types of objects which exist in our world (e.g. car, bus, traffic light and others). Each of them posses the set of properties and methods. An easy and natural language of methods can describe how objects of our world move, interact, change images and even disappear.

The last step is to create the concrete objects of prepared types: car1 and car2, bus1 etc. We can see these objects on the screen immediately. All we have to do then is to switch on system timer and watch the development of virtual world in accordance with laws we have determined.

To make the process of world construction more easy, "SB" uses a special tables and electronic blanks.

Undergraduates in Business Computing and Computer Science

Annegret Goold and Russell Rimmer, Deakin University, Australia,,

In our university, computer programming is taught to first-year undergraduates in business and science faculties. In this study a group of students from each faculty participated in a survey that measured learning style, previous computing experience, problem-solving ability and educational background. Factors affecting success in the programming courses were explored using multiple regression analysis. We aimed to provide parsimonious models permitting a meaningful explanation of scores. To do this the best sub-sets approach was used to select among lists of independent variables.

Overall it was found that variables influencing programming performance in business and science were different. A dislike of programming brought a penalty for science students, while in business an affinity for programming had a weak positive effect. Two variables common to both groups, gender and performance at secondary-school level, had diverse effects. For example, females in the science group experienced a significant penalty, yet males were slightly disadvantaged in the business group.

We attribute our findings to background and environment. For example, school scores among business students were usually measuring accomplishment in courses lacking quantitative elements. Also the more technical environment in the science faculty seemed to disadvantage females A longitudinal study is underway to investigate changes in the magnitudes of explanators and in particular to explore the interrelationships of variables such as previous knowledge and affinity/dislike for programming.

Using Blue J To Teach Java

Dianne Hagan, Monash University, Australia

BlueJ is a visual programming environment designed to teach object-oriented programming, using Java as the implementation language. It was designed and developed by Michael Kölling and John Rosenberg. BlueJ allows students to concentrate on solving programming problems without becoming distracted by the mechanics of compiling, executing and testing Java programs. It also help students to develop a clear understanding of object-oriented concepts such as objects and classes, message passing, method invocation, and parameter passing. The testing of classes is greatly simplified. The editor is language sensitive and assists with debugging.

This poster shows how BlueJ was used for the first time to teach Java to an introductory programming class. In 1999 BlueJ was used to teach a class of about 350 first year students in the Bachelor of Computing degree at Monash University. Several support mechanisms were provided to help students who encountered difficulties. A few classes were added to BlueJ as required to facilitate the students=92 work, e.g. a simple input class and a log file class. Students were surveyed three times during the semester as part of the evaluation of the effectiveness of BlueJ. In spite of some problems encountered by students with installing and running the software on their home computers, the use of BlueJ was considered a success. Students generally found that BlueJ helped them to learn Java, and their understanding of object-oriented programming concepts was considered better than that of students who had learned C++ in earlier years.

The Professional Growth of ICT Experts through Progressive Sandwich Training

Jorma Kajava1 (, Rauno Varonen (

University of Oulu, Finland

The Sandwich Training Model intertwines academic instruction and practical training such that they form an integral part of the overall instruction and learning process. Academically, training tends to have a motivational effect on students. The first concrete effect is the trainees' salary, but even more important for them is the fact that they also earn 5 academic credits. In addition, practical hands-on work exposes trainees to the professional skill requirements of various IT occupations. As a result, they are more willing to invest time and effort in their theoretical studies to find solutions to practical problems. Thus the university gets highly motivated, demanding students who are aware of practical professional requirements. Harder working students gain more academic credits, graduate earlier and are more interested in post-graduate studies. All this has a favourable effect on the university in terms of social impact and financing. Employers, i.e., firms that offer traineeships to students, also benefit from participation in progressive sandwich training. Firms are generally interested in flexible terms of employment enabling them to respond swiftly to changing market demands and technological paradigm changes by employing people that best suit their purposes. Apart from providing firms with trainees with the latest knowledge in their field, Progressive Sandwich Training also allows firms to test potential future employees in real-life situations.

LYDIAN: An Extensible Educational Animation Environment for Distributed Algorithms

Boris Koldehofe, Marina Papatriantafilou and Philippas Tsigas, (khofer, ptrianta, tsigas), Chalmers University of Technology, Sweden

As distributed algorithms may involve a large amount of data describing local state information and complex interactions between elements, it is often very difficult to achieve an understanding of their control flow (and performance behaviour) only from a pseudo-code description given in a book or technical paper, and the explanation given by a teacher concisely in the static blackboard.

Lydian offers the students an easy, visual way to describe their own networks, including traffic parameters, or select one from a database included with Lydian. Subsequently students can use these network-descriptions in order to see the behaviour of the protocol or algorithm running on top of them.

Further, it offers a database of basic distributed algorithms and protocols that the student can select from. The database so far contains algorithms for broadcasting, spanning tree constructions, resource allocation, leader election and counting networks. Students can insert a new distributed algorithm in Lydian by using a high-level description language.

The simulator of Lydian takes as input the network description file and the distributed algorithm and creates an execution (run). This execution describes the behaviour of the algorithm for the specific execution parameters.

For each protocol in the database Lydian provides a continuous animation. The animation is based on the basic ideas behind the design of the algorithm and which are used in the classroom to describe the corresponding algorithm, its correctness and its analysis. The user can easily design their own animation programs. The animation library is object oriented and animation objects for various key concepts of distributed algorithms have already been implemented and can be used in any animation produced by the user.

The poster presented at the conference can be found at

Distributed Algorithms in the Discrete Mathematics Course

Martha J. Kosa (, Tennessee Technological University, USA

Students need to understand distributed computing. Much distributed algorithms research satisfies the contradictory goals of rigor and accessibility to nonspecialists (undergraduates). We propose using results, implementing shared memory objects (registers), as "case studies" in the discrete mathematics course. contains our full paper.

Several constructions implement more powerful registers from weaker ones. Their correctness proofs should be accessible to students familiar with mathematical induction, case analysis, and proof by contradiction. The first is Lamport's regular bit implementation from a safe bit. The next is Tromp's atomic bit implementation from safe bits. Binary encoding builds a k-valued safe register from log k safe bits. Chaudhuri and Welch's hypercube algorithm builds a k-valued safe register from k-1 safe bits, with one bit change per write. Their tree algorithm implements a k-valued regular register from regular bits, with O(log k) bit accesses per read or write. Chaudhuri, Kosa, and Welch's complete graph algorithm was the first algorithm, with one bit write per write, implementing a k-valued regular register from regular bits.

We believe these results are accessible to discrete mathematics students, and now discuss how to incorporate them in class. The suggested time allocation is 150 to 225 minutes. Give all necessary definitions, with examples. Present one theorem at a time. Ask for the applicable proof technique. Let the students work together to complete the proof. Assign some proofs for homework. Discuss them afterward. After the module, give the paper citations. They can be told that they have partially reproduced actual research results.

Competing in Computing

Fredrik Manne (, University of Bergen, Norway

We describe a study performed in conjunction with organizing a local qualification contest for the ACM International Collegiate Programming Contest. This is an annual contest where teams of students compete against each other in writing computer programs.

The objective of the study was to see how a competition can be used as a learning environment. This concerns both learning pure computer science and also in seeing the importance of team-work. One might hope that both during the preparation for the event and during the event itself students would learn things that are hard to convey in an ordinary classroom setting. In addition, the competition gave us a possibility to see to what extent university education prepares students for such a competition.

Organizing a local competition requires some effort from the faculty in terms of spreading information, designing problems, organizing the needed hardware and software, and in terms of administering the competition itself. In addition, there is a financial cost in sending the best team to the regional final. In 1999 this amounted to approximately 20.000 Norwegian kroners for The University of Bergen.

Since both time and money is spent on participating in the ACM-ICPC it is of interest to evaluate what the benefits are for the students and for the university to see if these are substantial enough to defend a continued participation.

Our conclusion is that the event functioned as intended. The students perceived it as fun and were also able to gain experience in programming and in team-work. In addition, the students performed some self study that they would otherwise not have done while preparing for the event. We believe that the time and money that was spent in arranging the event was well worth.

For full paper see:

Internet and Multimedia Technology Curriculum Development

Barbara Mento, Donna Tupper, Kathleen Harmeyer, Sylvia Sorkin, Community College of Baltimore County - Essex Campus, USA, {bmento, dtupper, kharmeyer, ssorkin}

The Essex Campus of the Community College of Baltimore County has designed a thirty-credit certificate program in internet and Multimedia Technology with two tracks: Internet Specialist or Multimedia Specialist. This poster describes the program and three courses in it for which the instructors created multimedia lessons using the very software being taught. An online course has been developed to teach Visual Basic Programming to students who have had no previous programming experience. Macromedia AuthorwareTM was selected for development of interactive training materials for the classroom and for the online course. Sample on WWW:

Internet Programming is a comprehensive course in web design and development. Principal topics of the course are advanced HTML and JavaScript. No programming experience is required. Since many students are new to taking courses online, practice quizzes were put online to give students additional practice with various topics. Although students must come to campus to take the graded quizzes and exams, they can email all assignments and practice quizzes to the instructor. Sample on WWW:

In the 2D Animation course, students study cross-platform techniques to create and incorporate 2-dimensional animation into multimedia presentations using the authoring tool of Macromedia's DirectorTM, and begin to develop a CD-ROM portfolio. For many students in this course Director's Lingo scripting language is their first experience with programming. A clock project provided a sliding scale of implementation from keyframe and tweening, to actual coding in Lingo, to web deployment. Sample on WWW:

Acknowledgment: This material is based upon work supported by the NSF under Grant No. DUE - 99500056.

Analyzing Student Programs

Elizabeth Odekirk, University of Utah, USA (

Education studies strongly suggest that an effective way to teach procedural knowledge, such as computer programming, is by giving the student a great deal of practice which incorporates quick feedback. An optimal way to give that feedback is to have one-on-one interaction with the students while they are practicing, but this is often impossibly expensive both in time and in patience. So, the question we asked ourselves was 'What type of feedback from a tutoring system could be achieved by an automated system that would be effective in helping a student learn programming?' While other tutoring systems that teach programming exist, they use either static code analysis or dynamic output analysis and we decided to use both so that we could gather the most information about the student's code.

The system I wrote uses Java servlets over the web to present a set of short programming exercises. The students then input their code into fields in a template (an html form). The system then analyzes both the parsed code segments (static analysis) and the entire program's output (dynamic analysis) for common errors and possible misconceptions by the student. Information on the student's program is then immediately relayed back to the student, including a reiteration of programming concepts if warranted by their mistakes.

We tested the automated tutor on the students in the class 'Engineering Computing', a first computing class for engineers. We broke the students into groups and had them take a pretest before using the tutor and a posttest afterwards. Initial findings indicate that students finished the exercises faster if they had automated tutor hints than if they had only the help of a teaching assistant, while still learning as much as the students who had no automated tutor hints.

TOPKAPI: A Tool for Performing Knowledge Tests Over the WWW

Guido Roessling and Bernd Freisleben, University of Siegen, Germany {roessling, freisleb}

In this demonstration, we present the TOPKAPI tool for generating, administering and evaluating flexible multiple-choice questions over the WWW that completely frees the teacher from the evaluation process.

TOPKAPI supports grading and individual feedback for each answer given, providing the student with helpful information about the topic and his possible mistakes. Mistakes can be undone by simply pressing the Back button of the browser and choosing a more appropriate answer. A separate score table can also be requested, detailing the question catalogues tackled and the score reached for all entries. TOPKAPI also uses an in-built index structure to provide a dynamic index for the registered entries.

TOPKAPI is built from several pluggable modules, which can easily be exchanged on the fly by parameter settings. Thus, it also supports easy reuse of components. This also concerns the evaluator responsible for grading submitted answers. For testing purposes, the authenticated author of a question catalogue can view a debug page containing the questions, their answers, and the feedback given for each entry. Question catalogues can also easily be placed in different contexts, preventing data duplication as far as possible.

Teaching Computing History

John Impagliazzo, Hofstra University, NY, USA

Instructors often ignore or diminish the inclusion of history of computing when teaching their courses. This is unfortunate, because students and teachers can learn much from the subject. From a cultural standpoint, history broadens one's perspective on the field and lets students and scholars explore the inner thinking of people and events. From a practical standpoint, history enables individuals and enterprises to learn from the events of the past, to avoid errors, and to improve on current experiences. Both views are necessary to create an educated and informed computing professional. Computing history should be a part of human understanding. It should provide reflection on how projects can affect the human-machine environment.

Establishing an awareness of history in the computing leads to history as a learning tool, both for student and practitioner. The awareness and importance of computing history presume that the inclusion of history is a component of the computing curriculum. Interested parties from several nations organized a task group to effect curriculum changes that include history of computing as a part of a student's learning experience. The task group, formed jointly from two technical areas of the International Federation for Information Processing (IFIP), has considered some preliminary models and has formulated recommendations on how programs can include history in their teaching. The chair of the IFIF joint task group will make this presentation. He will show recent outcomes on this issue and will illustrate how history can be incorporated as an effective teaching tool.

Telemachus an Effective Electronic Marker of Students' Programming Assignments

M.Satrazemi, University of Macedonia, Greece ( ), V.Dajdiielis, Aristotle University of Thessalonki, Greece, (

In an introductory programming course students write programs in order to develop programming skills. The task of marking the solutions students produce in their programming assignments is laborious and error-prone. Thus we decided to develop a system called Telemachus handling not only submission, program testing and marking students' assignments but also providing reliable performance data that could give a reasonable gauge of student knowledge.

Telemachus consists of two main components: the one that students see and by which they submit programs electronically and access the results via WWW; and the second one that a tutor views and by which he/she can test and mark programs and obtain statistical results.

The tutor's component handles both the students' and the exercises' databases. The tutor can choose the compiler and then the system compiles and checks the programs' correctness by running them against the sets of test data.

Telemachus also produces different types of electronic reports: an extended report for every student; a report for all students with their grades; a statistical report for every exercise and every set of test data.

The help that Telemachus offers to the student and the tutor is likewise invaluable. Besides the fact that the system saves the tutor from the laborious task of checking and marking students=92 programs manually, it also gives information that a human might have completely missed: it spots errors that could be difficult to pinpoint from the visual examination of listings. Telemachus validates students=92 programs, running them against a number of predefined data sets rather than against random data sets so as to detect logical errors. The combinations of the chosen data sets give valuable insight into students=92 conceptions.

Furthermore, students=92 performance scores give the tutor the possibility to evaluate the success of a course. Finally, collecting reliable performance data over a long period of time the hypothesis concerning students=92 errors will empirically be confirmed.


Student Preference for Multimedia-Based Lectures: A Preliminary Report

David A. Scanlan, California State University, USA (

The results of this study indicate an extremely strong preference for multimedia-oriented lectures when compared to the use of overheads or the use of the chalkboard. Sixty-five junior and senior business majors enrolled in Principles of Information Systems, a course where multimedia is used, at California State University Sacramento, were asked to indicate their preferences and the strength of their preferences on a ten-point scale between three lecture methods: (1) multimedia, (2) overheads, and (3) the chalkboard. The students compared and gave their preferences for each of the three lecture methods under the following six conditions:

  1. The lecture method that best held students=92 attention.
  2. The lecture method from which students remembered the most.
  3. The lecture method students enjoyed the most.
  4. The lecture method from which students understood the most.
  5. The lecture method students found most stimulating.
  6. The lecture method students would use to teach the course or make a presentation to a business client.

Multimedia was overwhelmingly and strongly chosen as the preferred method under all six conditions. Chi-square was used to test all preference differences, and these preference differences were all highly significant, p < 0.0000.

In addition to the multimedia preference comparisons, comparisons were made between preferences for overhead-oriented lectures and chalkboard-oriented lectures under the six conditions mentioned above. Students consistently preferred overhead-oriented lectures to chalkboard-oriented lectures. Using chi-square, all preference differences were significant, varying from p < 0.015 to p < 0.0000.

Subject Differences in Student Attitudes to Paper-based and Web-based Resources

Judy Sheard (, Margot Postema (, Selby Markham (, Monash University, Australia

The emergence of the World Wide Web (WWW or Web) over the last decade has had a major impact on our tertiary institutions. Information which a few years ago was only available in paper format, is now also available in electronic format. The Web provides facilities for a variety of new and exciting ways to present and access information, ranging from static imitations of paper-based documents, to sophisticated interactive environments incorporating multimedia elements.

Students at tertiary institutions are now typically provided with an assortment of resources in each subject they study. The availability and format of resources are usually not consistent across subjects and depend upon what individual subject lecturers prepare and present. Although the trend seems to be moving more towards providing resources on-line, not all lecturers are convinced of the educational benefits of Web-based teaching environments. Most subjects offer students a combination of paper-based and Web-based resources and often the same material is available in both formats.

Flexible resource delivery supports well a constructivist teaching environment. The constructivism theory of learning maintains that knowledge is actively constructed rather than acquired. Instruction in this context is a process of supporting the construction of knowledge rather than transmitting it. A resource rich learning environment, providing a range of experiences that allow students to develop learning strategies which uniquely suit them is essential for constructive learning. Varied resources provide motivation to students to engage in learning=2E However, an extensive range of teaching resources, made available in multiple formats, are time consuming to produce and maintain, especially in the ever-changing discipline of information technology. It is therefore important to know what the students perceive is of value to their learning. Are all these extra resources benefiting the students? Do they use and appreciate them or are they being inundated and confused with more than they need and are able to cope with?

This poster reports on a study of student valuations of the usefulness of subject resources across a selection of undergraduate subjects in the Faculty of Information Technology, Monash University.

Computing with Geometry as an Undergraduate Course

Ching-Kuang Shene ( and John Lowther (, Michigan Technological University, USA

The physical world is built from geometric objects, and computers are designed for crunching numbers. This gap has largely been ignored for years until the automobile and other industries and computer graphics started to manipulate and manufacture geometric objects with computers. Nowadays, handling geometric objects with computers has become a vital technology in automobile, ship-building, manufacturing, visualization, computer vision, GIS, geometric design, and computer graphics. Unfortunately, the skills of handling geometric objects is virtually missing in a typical computer science curriculum, in spit of its impact on computer science and other fields, and its importance to increase students' employability. To address this problem, we have created a course "Computing with Geometry." The proposed poster will present the design merit, content, and findings of this course.

"Computing with Geometry" is a 3-credit elective course for junior and senior students who have taken calculus and linear algebra. It addresses the fundamentals of computing with geometry with an intuitive and elementary approach by emphasizing the geometric nature of curves, surfaces and solids and leaving the complexity of algebraic derivations and computations to software tools. To support this course in an intuitive way, we have a system, called DesignMentor, available free to the public. This system supports Bezier, rational Bezier, B-spline and NURBS curves and surfaces and cross-sectional design. A new version will support curve and surface interpolation and approximation for regular grid. Other features will be added in the future so that all fundamental issues in computing with geometry will be supported.

DesignMentor: A Pedagogical Tool for Graphics and Computer-Aided Design

Ching-Kuang Shene ( and John Lowther (, Michigan Technological University, USA

Major obstacles in teaching curves and surfaces in a computer graphics course include the formidable mathematics and lack of usable and low-cost tools. Most low-cost or free tools are either libraries to be used for programming, or systems for design purpose. While these tools are very useful, they are not suitable for helping students understand the fundamentals and important properties which are vital for them to use these tools effectively. DesignMentor is designed for teaching the fundamental concepts and theory of curves and surfaces by providing students with an interactive environment for them to practice and visualize concepts and algorithms. It supports Bezier, rational Bezier, B-spline and NURBS curves and surfaces. Students can click on the drawing canvas to create control points, and perform curve editing operations by moving control points, modifying the knot vector, and changing the weights of selected control points. The result of an editing operation appears on-the-fly. They can trace a curve and its first and second derivative curves at the same time, and the system shows the moving triad and curvature sphere at the tracing point. They can even put the viewer on the curve to experience and visualize all vital geometric characteristics by riding on the curve like on a roller-coaster box. DesignMentor's surface subsystem is an extension to the curve subsystem and supports all features that are available in the latter. By combining the both subsystems, students can learn the cross-sectional design techniques for designing ruled surfaces, surfaces of revolution, swung, simple swept and skinned surfaces.

Plan of Teaching & Learning for Database Software through Situated Learning

Soo-Bum Shin, In-Hwan Yoo, Chul-Hyun Lee, Tae-Wuk Lee. Korea National University of Education, Korea {ssb, bluenull}, {leesleek, twlee}

As a tool to construct a massive database, database software plays a very important role in an information society. Elementary Students should understand the abstracted concept of a database to apply the database software in daily life, which is not easy at all. In this thesis we present the plans to introduce situated learning to practice in daily life, to solve this problem. Situated learning is a theory assuming that it is effective to learn in an un-simplified real world. Situated learning is also judged to be suitable for the database software. The plan is largely divided into Stage 1 and 2. as following paragraph

Stage 1: Knowledge Acquisition - OFF THE COMPUTER Step 1: The teachers, with meta knowledge in DB, select the material from daily life, and designate each student as the hero of that story. Step 2: Students collect or arrange the data, using given conditions, in order to solve problems. Teachers should introduce the abstract concepts of DB including field and record through data. Step 3: Students should be able to select the fields, by themselves, they can make the DB with similar content to that of the presented problem.

Stage 2: Skill And Extension Knowledge Acquisition - ON THE COMPUTER Step 1: Learn the lowest DB software interface to make the DB table, and implement basic inquiries, sort and searching. Step 2: Expand the number of records, using the example data that was learned through manual work, and input the data into the DB software. Step 3: Learn various commands of the DB and how to use those commands including inquiries, sorts and searching with which students can operate the DB data file that they had input or were provided.

This work was supported by the Brain Korea 21 Project.

Using Recursion as a Tool to Reinforce Functional Abstraction

Raja Sooriamurthi, University of West Florida, USA (sraja@cs.uw)

A good design lays the firm foundation of any engineering effort. The most severe impediment towards attaining a good design is managing the complexity of the problem. While complexity can't be avoided the best we can do is learn how to cope with it. Two tools that students are taught to help slay the dragon of complexity are (1) modularity (divide and conquer) which helps to better manage it and (2) abstraction which helps to reduce it.

When teaching introductory programming apart from the syntactic and semantic rules of a programming language, students need to be introduced to good design strategies. Functional abstraction is a cornerstone strategy in good software design. In this poster we present a template-based introduction to recursion which emphasizes the notion of functional abstraction and assists students in cultivating their intuitions. The irony and the key behind this pedagogical strategy, for a topic that is normally considered hard, is to encourage students not to think too hard. In the form of a Zen style paradox, at the introductory level, we have found that the harder you think the harder it becomes to comprehend the charm of recursion!

"Network Protocols and Services" - a Non-Specialist Approach to Teaching Networking

David Stratton, University of Ballarat, Australia

Networking, especially as represented by the Internet, is becoming increasingly embedded in all aspects of computing. Whilst this tendency increases the need for specialised network education it also creates an expectation that all graduates of computing degrees will have a broad and basic understanding of networking concepts. This poster describes a first year core unit that addresses this requirement by presenting network concepts in a non-technical yet "hands-on" manner.

The approach of Network Protocols and Services (NPS) is firmly at the qualitative end of the spectrum of existing approaches to teaching networks. Established approaches are reviewed and classified according to their year-level, their dependence on specific hardware and the extent to which programming knowledge is assumed. NPS also goes out of its way to give students direct experience of networking concepts - one half of the class time is spent in practicals that run in a standard university PC lab.

Two distinctive aspects of NPS, the use of packet tracing and of network simulation, are described in some detail. Packet tracing is performed using a demonstration version of a commercial packet analyser and networks are simulated using a locally developed package. The overall structure of the Unit is described and the design and use of the particular tools is related to the pedagogical aims of each section of the course.

Program Paper-Slide-Show

Minoru TERADA (, University of Tokyo, Japan

The `paper-slide-show' is a traditional form of Japanese children's entertainment in which the narrator tells a story and illustrates it by showing a sequence of painted pictures.

We designed and implemented a source code animation system based on the metaphor of the paper-slide-show. Our system offers an entry-level code animation with which student can trace the behavior of his program by himself.

Our system is

  1. Automatic: No modification of the source code is necessary. The only requirement is to use the debugging option when compiling.
  2. Passive: Once the student has started the animation from the command line, all he has to do is to watch his code be animated automatically.
  3. Contextualized: Procedure/function calls are represented by a slide showing the callee's source, slid in from the right of the window onto the previous slide. The code of the caller is left partially visible at the left of the callee slide, thus the user is able to see the nesting of calls. The motion of the slide is designed so as to the user can easily follow the transition.
  4. Portable: Our system consists of two parts, both of which are implemented by common programs (Perl, Gdb) and libraries (X11) on Unix platforms.
  5. Practical: Our system is capable to animate significant programs, such as GNU sed, which includes about 8000 lines of C code.

Favorable results were obtained in experiments in which students in introductory programming courses used the system.

Learning Process Maturity

Errol Thompson (, Massey University at Wellington, New Zealand

With systems development, students need to learn specific skills and concept knowledge. This includes knowledge and practice of software development processes. The languages, platforms, techniques, and processes are continually changing. When entering the work place, the students need to be able to adapt their learning to the new environment in which they work. This may include learning new programming languages, analysis and design techniques, and processes. To add to the adaption process, they will be implementing solutions to familiar and unfamiliar problems.

Their learning of the application of techniques can be assessed in terms of the products produced. The capability maturity model provides a possible framework for assessing the process. But are these assessing "the present based on the past" (Stephenson and Weil 1992)? In teaching, the focus should be on the future and the development of life-long learning skills that will be required. How do we assess the development of student learning processes?

This research aims to develop an approach for understanding, evaluating, and fostering student learning processes with reference to systems development concepts. It will examine concepts of learning theory, competency, capability, process improvement, and performance appraisal. The desired result is the development of a learning environment for teaching systems development concepts alongside the fostering of maturity in the student learning process. The poster will outline some of the preliminary thinking, the issues, and the approach being taken.

Reference: Stephenson, J. and Weil, S. (1992) Quality in learning: A capability approach in higher education, London: Kogan Page.

Present status and direction of Information Curriculum of Korea

In-Hwan Yoo, Soo-Bum Shin, Chul-Hyun Lee and Tae-Wuk Lee, Korea National University of Education, Korea, {bluenull, ssb, leesleek, twlee}

In Korea, the 7th curriculum was proclaimed as the national level curriculum in 1997 and information education is carried out from elementary school. In primary school, computer-related contents are covered in a technology subject of the 5=A1=AD6th year. In middle school, some computer related contents are handled in a technology subject and household subject as the compulsory course. In high school, the information related subjects are divided into ordinary curriculum and professional curriculum.

The problems of information curriculum of Korea are as follows: First, there is a tendency to neglect the importance of computer education, and there is a distinct lack of class hours, due to the operation of the elective system related to computer course. Second, schools are reluctant to select information-related courses, as they do not have enough teachers to take charge of them. Third, similar contents overlap as the information education is carried out for each class level. Fourth, it lacks a connection between information education and application of information technology in each subject.

Finally, we would like to explore the assignment of information education of Korea. The first assignment is to revise the information curriculum focusing on the information comprehension, selection, analysis, integration, presentation and expressive ability. Second, while connecting information technology to established education, by adding affectivity, openness, diversity and connection, we should prepare this as an opportunity to enrich the established education. Third, we should change the curriculum of training institutions due to the change in the role of teachers. Fourth, it is necessary to explore plans to reduce the information deviation among regions and classes.

This work was supported by the Brain Korea 21 Project.