Abstract Data Types as a Project Development ... - ACM Digital Library

2 downloads 0 Views 297KB Size Report
Ehud Shapiro. Department of Science Teaching. Department of Science Teaching. Department of Computer Science. The Weizmann Institute of Science.
Abstract

Data Types as a Project Development

Organiser

Bruria Haberman

Zahava Scherz*

Ehud Shapiro

Department of Science Teaching The Weizmann Institute of Science Rehovot 76100 Israel

Department of Science Teaching The Weizmann Institute of Science Rehovot 76100 Israel

Department of Computer Science The Weizmann Institute of Science Rehovot 76100 Israel

[email protected] 1. ABSRACT Abstract Data Types (ADTs) has been introduced recently to Israeli high-school students as tools for problem solving and knowledge representation in Prolog environment. This paper reviews a research that was conducted in order to assess the influence of students’ use of ADTs on the development process of knowledge-based Prolog programs. 2. INTRODUCTION During the last few years, logic programming has been taught in Israeli high-schools, following a special curriculum that was developed at the Weizmann Institute of Science.The course, called “Computer Science- Logic Programming”, was introduced to students already familiar with procedural paradigm implemented in Pascal environment, as a declarative programming paradigm based on a different approach. A main objective of the course was to introduce logic programming as an environment for content normalisation, knowledge representation and problem solving. The course covers topics such as data base programming, compound data structures, simple recursion and Abstract Data Types (ADT). Our instructional approach is centred on introducing problem solving methods and knowledge programming representation while teaching central concepts in CS. Special effort was made to design a methodology to introduce the new concept of ADT using logic to high school students. The course introduces a six phases approach for knowledge based programming design: Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ITiCSE ‘98 Dublin, Ireland 0 1998 ACM l-581 13-000-7/98/0000,,,

(a) definition of goals, (b) abstraction, (c) relation identification, (d) normalisation, (e) implementation, (f) debugging. In phases(b) and (c) the student may identify a suitable ADT to describe the problem to be solved and in phases (d) and (e) he can use a “black box” that representsthe chosenADT in order to write the desired program (Haberman,Scherz,& Shapiro, 1992; Scherz & Haberman, 1995). We developed our curriculum based on somepedagogicaland disciplinary assumptions: . A new concept must be taught without detracting from its correctnessor completeness,while taking to consideration the learning difficulties of the students. . An independent learning-by-doing process can achievemeaningful learning. . Real-world problems should be integrated into the curriculum. . The instructional model should be flexible and focus on the student,considering the student’s background and abilities. According to the course goals and the pedagogical and disciplinary assumptions the students are required to develop a final knowledge-basedproject.

2.1 Knowledge Based Projects The final project gives each student an opportunity to implement and to integrate the course contents in order to develop and implement a computer knowledge-based program. The studentschoosea particular subject domain and define the problems to be solved. They study the domain through relevant literature or expert interviews, decide on questions for the systemto solve, representand organise the knowledge and formalise it as a Prolog program. In addition they write a report describing the subject and the developing process. One specific question we try to answer in this paper is what are the relations betweenthe course contents and the development processes of students’ knowledge based projects. Namely, how students actually implement the * Correspondingauthor

$5.00

102

problem solving methodologiesthat are representedin the course.

clauses, execution and debugging and working on the computer. Hopping to find similar patterns of teams’ behaviour we printed the Gantt schemeson transparencies and used them to compare the teams’ processes. We found four different activities’ patterns (table 1). All teamsused somekind of an organiser during the project’s developmentprocess.

3. RESEARCH 3.1 Goals A qualitative research aimed to follow the development processes of students’ projects was conducted.. The researchconcentratedon the following aspects:the use of abstract data types; the role of the computer in the process;and sludents’ attitudes towards the development process.

4. TEAMS WHO USED ABSTRACT DATA TYPES Analysis of the patterns clearly indicated that Abstract Data Types served for some teamsas an organiser of the project’s developmentprocess.

3.2 Procedure A one-day (eight hours) workshop was conductedin highschool class of 35 students who studied the “Computer Science - Logic Programming” course for 90 hours according to our approach.Thirteen teamsof 2-5 eleventh grade students attended the workshop and developed knowledge-basedprojects. The workshop took place in a computer laboratory. A nearby school library provided the studentswith relevant literature during the workshop.

4.1 Type A Teams who used build-in “black boxes” that represent Abstract Data Types to formalise predicates, developed their programs in an organised and structured manner. These teamspostponed the use of the computer until the final stagesof project’s development.

4.2 Type B

3.3 Research Tools

Other teamsused Abstract Data Types as well in order to describe their problems, but instead of using build-in “black boxes” they decided to create “black boxes” of their own. These teams also worked in a structured manner,but some of them had difficulties in creating the “black boxes”. These teamsbegan to use the computer in earlier stage.

Several tools were used to document the development process - six randomly chosen teams were video taped. All teams were audio taped. Each team was watched by one or two observers who took notes on the team’s activities and behaviour. The observers were instructed not to interfere with the teams’ activities nor to criticise their project’s development. All teams were interviewed twice: once during the development process and than after finishing their projects. Each team delivered a final product - a computer program and a written report describing the project and the team developmentprocess.

5. TEAMS WHO DIDN’T USE ABSTRACT DATA TYPES The teams that didn’t use Abstract Data Types at all, worked in a less structured way compared to teams that usedAbstract Data Types.

3.4 Results and Discussion

5.1 Type C

Most students enjoyed the projects and the development process. They indicated that project development is a unique meansto implement the ideas, tools and concepts they were introduced to during the Logic Programming course. We used a Gantt scheme to describe each team’s development process.The description referred to several activities: subject’s choice, definition of goals, the use of Abstract Data Types, predicates’ choice, predicates’ normalisation in terms of facts and rules in Prolog Use of Abstract Data Types Type A build-in

Type H self-defined

“black boxes”

“black boxes”

structured process

structured process

The teams that defined the project’s goals in the early stage of the project’s development worked in a more structured way compared to the teams that didn’t bother to define goats at all. Those teamsused goals’ definition as a project development organiser.

5.2 Type D The teamsthat skipped definition of goals used “trial and error” techniquesin me developmentprocess. No Use of Abstract Data Types

Type c

Type D

goals definition

No goals definition

mostly structured

process Table 1: Categorisation

of project

103

development

processes

“trial and error” process

6. CONCLUSIONS AND RECOMMENDATIONS Students defer in their ability to implement the concepts and strategies learned in the main logic programming course in their final project. In order to develop a project in an organised and structured way studentstend to use an organiser. Abstract Data Types serve as a meaningful organiser for project’s development process. In order to improve the students’ project development abilities we recommend to consider to start project development in early stagesof the course and gradually to introduce Abstract Data Types as a project development organiser. 7. REFERENCES Ul Bottino, R., Forcheri, P. and Molfino, M., Teaching with Prolog, Pegboardl(l), 1986. PI Br, I., Prolog Programming for Artificial Intelligence. SecondEdition, Addison-Wesley, 1990. [31 Haberman, B., Lists in Prolog, Master Thesis, The Weizmann Institute of Science, Rehovot, Israel, 1990. [41 Haberman, B.; Scherz, Z. and Shapiro, E., A Prolog environment for high school students - the use of abstract data types for knowledge representation and

problem solving. Proc. East West Conference on Emerging Computer Technologies in Education. Ed. By P. Brusilovski and V. Stefanuk., 135-141,Moscow, 1992. [51 Harel, I., Children Designers: Interdisciplinary Constructions for Learning and Knowing Mathematics in a Computer-Rich School, Ablex Publishing Corporation, 1991. [6] Pain, H., Brna, P. and du Boulay, B., Teaching, learning and using Prolog: understanding Prolog, Instructional Science 19 (4/5), 247-256, 1990. ]7] Scherz, Z.; Goldberg, D. and Fund, Z., Cognitive Implications of Learning Prolog - Mistakes and Misconceptions, J. Educational Computing Research, vol. 6(l), 89-110, 1990. @I Scherz, Z.; Maler, 0. and Shapiro, E., Learning with Prolog - A new Approach, Journal of Computers in Mathematics and Science Teaching, vol. 6(l), 31-37, 1986. [91 Scherz, Z. and Haberman, B., Logic programming basedcurriculum for high school students: The use of abstract data types, SIG CSE bulletin, Vol. 27, No. 1, 331-335, ACM press, 1995. [lo] Sterling, L. and Shapiro, E., The Art of Prolog, Second Edition. MIT Press.1994.

104