Teaching (Constraint) Logic Programming
Panel at ICLP 2003
Organizer: M. Ducassé
Panelists: G. Gupta, M.V. Hermenegildo, U. Nillson, P. Stuckey, K. Ueda
Scribe: E. Pontelli


Introduction

A panel dedicated to the teaching of Logic and Constraint Logic Programming took place on December 13th, 2003, during the 19th International Conference on Logic Programming in Mumbai, India.

The panel was organized to discuss and investigate methodologies and approaches to teach Logic and Constraint Logic Programming to Computer Science students. There is a clear understanding within the community of the power and potential of the Logic and Constraint Logic Programming paradigm, and well-designed educational programs can contribute to a more effective dissemination of this technology. The objective of the panel was to discuss current practices in the teaching of Logic Programming and to identify motivation, content, and organization of a curriculum that provides adequate access to logic programming technology.

The panel has been divided into two parts. The first part (one hour long) was dedicated to presentantions by the six invited panelists. Each panelist introduced her/his current experience in teaching Logic Programming and their personal view of the best practices to introduce Logic Programming to undergraduate Computer Science students. The second part (one hour long) provided an open forum of discussion, where members of the audience intervened with one-slide of comments, remarks, and suggestions--leading to a very well attended and lively discussion.

Invited Panelists

The first half of the panel was led by the presentations of six invited panelists. Each panelist was given 10 minutes to present their experience in teaching Logic and Constraint Logic Programming, along with suggestions for improving the presence of Logic Programming in the undergraduate Computer Science curriculum.

The messages provided by the six panelists can be summarized as follows:

Audience Participation

The second half of the panel allowed the audience to present ideas, comments, and remarks. Members of the audience were invited to summarize their remarks in a single slide, to be presented and discussed to the rest of the audience.

Closing Discussion

The closing discussion focused on determining what the LP community can do to improve education and use of LP technology in mainstream software development.

The consensus arising from the discussion is the importance of providing students with enough time and opportunities to acquire familiarity and practice with LP; in particular, it is evident the need to present LP as a programming paradigm, applicable to traditional areas of Computer Science and capable of interacting with other, more commonly used, paradigms. Success stories of use of LP in real-life applications represent excellent motivational tools to gain the interest of students.

Krzysztof Apt raised the problem that Prolog is frequently taught as part of programming languages courses, but instructors in such courses are often ill-prepared to properly teach LP. An avenue to address the problem could be to provide a well-organized and publicly accessible repository of educational material, covering the different aspects of LP and organized according to different target audiences.

Mireille proceded in posing the question of whether it is a good idea to present LP and Prolog as a tool for rapid software prototyping. Peter Stuckey shared some concerns about this--undergraduate students do not have commonly the experience required to actually use Prolog for rapid prototyping (their prototyping might not be rapid), which might further create skepticism. Veronica objected to Peter's comments--she has been capable of training non-experience programmers in the use of LP for natural language processing and in building non-straightforward applications. Peter stressed that one of the issues can be that Veronica's students are not CS major, and they are free from the bias that CS students often have towards traditional languages. Manuel Hermenegilod emphasized Peter's comments; teaching Prolog is not easy and it is unlikely that someone without an appropriate background can really appreciate its power and use. LP provides a powerful tool for complex problems. The minimum aim is to provide students with the appreciation of this power and with the knowledge of when such power is required.

The discussion closed with concerns raised by various participants regarding the reduced role of LP in particular, and of programming languages in general in the current ACM curriculum--a situation that further restricts the possibility of accomplishing the goal of improving training and dissemination of LP.

The translation was initiated by Enrico Pontelli on 2004-02-09