Free Computer Science Project Download Pdf

This paper describes a study aimed at identifying different profiles of students' project development processes. Specifically, we assessed the use of abstract data types for the development of knowledge-based projects. The concept of abstract data types was introduced to high school students who took the course ``Computer Science-Logic Programming''. During their studies the students learned and practiced various tools and methods of project development, one of which was based on the use of abstract data types as tools for problem solving and knowledge representation. To this end, a one-day workshop for team development of mini-projects was organized, and the whole development process was audio and video documented, categorized and analyzed. The profiles of team behavior in the project development process were specified. The analysis of the profiles resulted in identifying four types of project development teams, all of which employed some organizing tool in developing their projects. Two types of the developing teams used abstract data types and two used other methods. The findings indicated that the process of project development of those who used abstract data types was more structured and more organized than others.

The activity-charts of the four identified types of project development teams.
Types of behavior during project development

Figures - uploaded by Bruria Haberman

Author content

All figure content in this area was uploaded by Bruria Haberman

Content may be subject to copyright.

ResearchGate Logo

Discover the world's research

  • 20+ million members
  • 135+ million publications
  • 700k+ research projects

Join for free

Informatics in Education, 2005, Vol. 4, No. 2, 307–319 307

2005 Institute of Mathematics and Informatics, Vilnius

Mini-Projects Development in Computer Science –

Students' Use of Organization Tools

Zahava SCHERZ

Department of Science Teaching, Weizmann Institute of Science

Rehovot 76100, Israel

e-mail: zahava.scherz@weizmann.ac.il

Bruria HABERMAN

Department of Computer Science, Holon Academic Institute of Technology

Department of Science Teaching, Weizmann Institute of Science

Rehovot 76100, Israel

e-mail: bruria.haberman@weizmann.ac.il

Received: 09 2005

Abstract. This paper describes a study aimed at identifying different profiles of students' project

development processes. Specifically, we assessed the use of abstract data types for the development

of knowledge-based projects.

The concept of abstract data types was introduced to high school students who took the course

"Computer Science-Logic Programming". During their studies the students learned and practiced

various tools and methods of project development, one of which was based on the use of abstract

data types as tools for problem solving and knowledge representation.

To this end, a one-day workshop for team development of mini-projects was organized, and the

whole development process was audio and video documented, categorized and analyzed. The pro-

files of team behavior in the project development process were specified. The analysis of the profiles

resulted in identifying four types of project development teams, all of which employed some or-

ganizing tool in developing their projects. Two types of the developing teams used abstract data

types and two used other methods. The findings indicated that the process of project development

of those who used abstract data types was more structured and more organized than others.

Key words: abstract data types, mini-projects in computer science, project organization tools, logic

programming in education.

1. Introduction

A new curriculum in Computer Science (CS) that combines both conceptual and practical

issues has been implemented since 1990 in Israeli high schools. One specific goal of

the curriculum is to provide the students tools that will enable them to understand the

functionality of computer systems and the process of software design (Gal–Ezer et al. ,

1995; Gal–Ezer and Harel, 1999). This goal can be achieved by incorporating project

work into the curriculum (Gal–Ezer et al. , 1995; Fincher et al., 2001). The academic CS

308 Z. Scherz, B. Haberman

community believes that the role of projects in the CS curriculum is of great importance,

since it is a means for effective learning, and also demonstrates the student's mastery of

skills appropriate to professional practice (Fincher et al., 2001; Gal–Ezer et al. , 1995;

Holcombe et al., 1998).

A 90-hours course "Computer Science-Logic Programming" (the LP course), which

is part of the new CS curriculum, introduces logic programming as a declarative program-

ming environment (implemented in Prolog) which is suitable for content formalization,

knowledge representation, and problem solving (Sterling and Shapiro, 1994). The de-

tailed syllabus of the course is presented in (Gal–Ezer and Harel, 1999).

Students taking the LP course are required to develop knowledge-based projects as a

final assignment. While developing their projects the students have to undergo a prelim-

inary process: they have to choose a subject, to perform a literature search, to interview

experts, to learn about the knowledge domain, and finally to formally specify the prob-

lem that they are going to solve. Only then, can they start the following recommended

six-phase process: (1) definition of goals, (2) choice of problem predicates, (3) abstrac-

tion, (4) formalization, (5) programming, and (6) testing and debugging. During their

studies the students are introduced to various methods of problem solving and knowl-

edge representation and to various programming techniques, which they may use to solve

problems and to develop projects. In this paper we focus mainly on the use of abstract

data types (Aho and Ullman, 1992; Dale and Walker, 1996; Parnas, 1972) in the devel-

opment process. We developed an instructional package aimed at teaching abstract data

types as tools for problem solving and knowledge representation that may be used to de-

velop small-scale programs as well as complex computer systems. The package includes

an instructional model, learning materials for students, a teacher's guide, and a software

package of "ADT black boxes" implemented in Prolog (Scherz and Haberman, 1995).

We found that students tend to apply a variety of strategies and techniques when they

use ADTs in problem-solving tasks (Haberman et al. , 2002), and they regard ADTs as

useful tools for problem solving and knowledge representation (Haberman and Scherz,

2003). Here we describe a study that monitored the development of students' projects.

This study focused on students' project development strategies and on the role of ADTs

in the process of project development.

2. The Study

2.1. Main Questions

The goals of the study were related to the following aspects:

The Structure of the Development Process: The goal was to identify different pro-

files of students' development processes. Specifically, we asked the following questions

regarding students' projects:

What were the project's development stages?

What was the order of the stages, and how are they related?

Mini-Projects Development in Computer Science – Students' Use of Organization Tools 309

Did the project development follow the six-phase model?

The use of ADT: The goal was to assess students' use of ADTs in developing their

projects. Specifically, we asked the following questions:

In what stage of the development process did students find suitable ADTs to solve

the given problem?

Did students use ADT black boxes in the formalization stage?

How did the use of ADTs influence the entire project developmentprocess?

The use of practical tools: The goal was to specify the role of the computer versus the

pencil-and-paper approach in developing projects. Specifically:

In what stages of the development process did the students use the computer?

What different styles of computer usage can be identified?

In what stages did the students use pencil-and-paper?

2.2. Methodology

A workshop for team project development: A one-day (8 hours) workshop was con-

ducted with a group of 35 students who studied a Computer Science – LP course. Thirteen

teams of 2–5 students developed knowledge-based projects on a variety of subjects, all of

which are related to descriptive topics of a qualitative nature (e.g., Biology, Medicine, Nu-

trition, and Law). The workshop took place in a computer laboratory. Each team worked

independently; therefore interaction between the teams was not possible.

The teams had to decide on a general topic for their project before the workshop and

to bring relevant knowledge sources (literature, an interview with an expert, etc.).

A nearby school library provided the students with additional relevant literature dur-

ing the workshop. At the beginning of the workshop the teams received written instruc-

tions describing the project requirements. During the workshop the students had to spec-

ify the problem and to formalize it in terms of a Prolog program (about 10 meaningful

different rules). At the end of the workshop each team had to present a Prolog program

along with a written final report describing the project and the team development process.

One or two observers watched each team.

The workshop enabled us to follow closely all the development processes of several

teams in parallel in a reasonable period of time. The teamwork required the students to

discuss out loud their project development activities and therefore enabled us to record

their reasoning, and conflicts and ideas throughout the process. This kind of recording is

hard to achieve when students work individually.

2.3. Data Collection

Several tools were used to collect data and to document the team's development pro-

cesses:

Videotapes: Video cameras were used to videotape six randomly chosen teams.

Audiotapes: All thirteen teams were audio taped.

310 Z. Scherz, B. Haberman

Observers: Each team was watched by one or two observers who took notes on the

team's activities. The observers were computer science teachers and senior students from

the same school who had completed advanced CS courses and had experience in devel-

oping knowledge-based projects. The observers were instructed not to interfere with the

team's activities, nor to criticize their project's development. However, they were allowed

to help the students in case of technical difficulties. The observers were also responsible

for ensuring that the different teams do not share information and do not interact.

Interviews: Each team was interviewed once during the development process and

after finishing the workshop obligations.

Final and Intermediate Products: Each team presented a Prolog program at the

end of the workshop, and a final report about the team development process. All the

intermediate products – handout illustrations and notes that were made were collected.

2.4. Data Analysis

Researches have effectively used verbal protocol analysis to identify how designers intro-

duce information or knowledge into design process (Atman and Bursic, 1998). Protocol

analysis can be applied to students' verbalization in a design project, coding sentences

into categories such as problem definition, information, analysis etc. (Atman and Bursic,

1996). Verbal protocols data can be analyzed and represented schematically (Chi, 1997;

Schoenfeld, 1985).

A graphic tool that we termed an activity-chart was devised to enable a concise de-

piction of a project's development process (see Fig. 1). This graphical illustration displays

a concise description of the development process for each project on a macro level, thus

offering a general impression of its nature.

The work of each team was represented by an activity-chart. The chart was prepared

from the transcriptions of the audiotapes, the observers' reports, the videotapes (of those

teams that were filmed), the teams' handout illustrations and notes, and their final prod-

ucts. The X axis of the chart presents the time duration of the workshop. Eight activities

are presented on the Y axis of the chart: (1) choice of subject, (2) definition of goals, (3)

use of abstract data types, (4) choice of problem predicates, (5) formalization, (6) testing

and debugging, (7) use of the computer, and (8) writing the final report.

Activity No 3 refers to various aspects of the use of abstract data types such as adapt-

ing ADTs to the problem, use of ADTs' graphical illustration to present relations between

problem-predicates, and the use of ADT black boxes to write the program.

We made an effort to find a statistical tool that would enable us to compare and cat-

egorize the teams, but no appropriate method was found. Accordingly, the analysis was

carried out using the following method: each of the activity charts was drawn on the same

scale and reproduced onto transparencies, which facilitated the comparison of the devel-

opment processes of the different teams. The transparencies were placed one on top of

the other and were compared and grouped in an effort to identify common (or similar)

patterns.

Mini-Projects Development in Computer Science – Students' Use of Organization Tools 311

Fig. 1. The activity-charts of the four identified types of project development teams.

Additional information, drawn from our observations, recordings, interviews, and stu-

dents' reports was used besides the activity charts to establish criteria for defining teams'

work profiles.

3. Results and Discussion

The analysis of the activity-charts resulted in identifying four types of project develop-

ment teams. The classification of the teams appears in Table 1, and the typical activity-

charts are presented in Fig. 1.

3.1. Criteria for Identifying Types of Project-Developing Teams

Based on our research questions, we established three criteria according to which the

profiles of the four types were specified: (1) the structure of the development process; (2)

the use of ADTs; and (3) the use of practical tools.

The following section further describes these criteria.

3.1.1. The structure of the development process

The structure of the development process is determined by the following parameters:

Problem analysis:The first step in any project development involves defining the

problem to be solved and its analysis. This activity involves: (a) Breaking up a prob-

312 Z. Scherz, B. Haberman

Table 1

Types of behavior during project development

Type

Type A Type B Type C Type D

Activity

(3 teams) (3 teams) (4 teams) (3 teams)

Definition of

goals *At the beginning

(all the teams) * At the beginning

(all the teams) * At the beginning

(all the teams) * At the beginning

(all the teams)

* In the continua-

tion (2 teams) * In the continua-

tion (1 team) * In the continua-

tion (1 team)

* Toward the end

(1 team)

Use of ADTs List (all teams) Tree (2 teams)

Graph (1 team) No use of ADTs No use of ADTs

Choice of

problem-

predicates

Immediately after

the initial choice of

ADTs (all teams)

Immediately after

the initial choice

of ADTs (2 teams)

Gradual – after

the initial choice

of ADTs (1 team)

Gradual – parallel

to formalization

(all teams)

Gradual –

beginning at the

start of

development,

parallel to

formalization (all

teams)

The start of the

formalization Use of predefined

"black box", after

the initial choice

of predicates

Use of a

self-defined

"black box"

(2 teams)

* Immediately

after the initial

choice of

predicates

* Formalization

alternately

combined with the

choice of problem

predicates

* Immediately at

the start of

development

* Formalization

alternately

combined with the

choice of problem

predicates

Use of computer * From notes to

computer 3 hours

after the start

(3 teams)

* Formalization

on the computer

(2 teams)

* From notes to

computer (1 team)

* Formalization

on the computer

(1 team)

* From notes to

computer

(3 teams)

* From notes to

computer at an

early stage

(3 teams)

Testing and

debugging After the program

was keyed-in

(1 team)

No uniformity

among the teams * After program

was keyed-in

(3 teams)

*During

formalization

(1 team)

* After program

keyed-in (1 team)

*During

formalization

(3 teams)

lem into sub-problems in a systematic manner. Each of the sub-problems is then dealt

with separately, and the relations between the sub-problems are well defined. (b) Identi-

fying the entities involved in each sub-problem and determining how they are related. An

organized and systematic analysis of the problem should result in a structured develop-

ment process; this serves as a basis for the initial stages of project development, such as

Mini-Projects Development in Computer Science – Students' Use of Organization Tools 313

defining the project's goals, the decision regarding problem-predicates, and knowledge

representation.

Stages and order of execution: A project can be developed similarly to the six-phase

model, following a linear order. An iterative development is also possible by means of

backtracking and the stepwise refinement of the different stages. Other kinds of devel-

opment processes may include different stages or disregarding some (or most) of the

six-phase model stages.

Modularity and stage dependencies: A modular process calls for a clear distinction

between the different stages of development, with special attention given to the depen-

dencies between them.

A close examination of the above components should enable defining a project devel-

opment process as structured or unstructured.

3.1.2. The use of ADTs

ADTs may be used at various levels and stages throughout the project's development. We

chose to examine the use of ADTs according to the following parameters:

Abstraction: Adapting suitable ADTs that represent a specific problem. This involves

two aspects: (a) Identifying the general problem that represents a specific concrete prob-

lem, and (b) Mapping the general problem to the appropriate abstract data type model.

Use of ADT black boxes: Mapping the general problem-predicates to the appropriate

ADT interface operations.

3.1.3. The use of practical tools

Use of the computer: The computer can be used at various stages of the development

process and for different tasks. It can be used as an instrument of trial-and-error, as a

word processor to key-in a program that was first formalized on paper, and as a tool

for testing and debugging. It is interesting to note that when do students start to use the

computer, and do they employ it continuously.

Pencil-and-paper: Another aspect of the process relates to the use of pencil-and-paper

in developing the program, specifically how much this method is used, at what stages, and

whether the formalization is done first on paper and then on the computer.

3.2. Types of Project-Developing Teams

We found four types of project-developing teams:

3.2.1. Type A

Type A includes three teams that used predefined ADT black boxes.

All the teams performed problem analysis and defined their goals at the very begin-

ning of the development process. They analyzed their problems at an early stage and

distinguished between the general problem and the specific data of the concrete problem.

The teams decided on ADTs and chose problem-predicates at the beginning of the devel-

opment process. Only then did they begin the formalization in terms of Prolog facts and

314 Z. Scherz, B. Haberman

rules. All three teams chose the list abstract data type to depict their problems, and used

transparently the predefined list black box to formalize problem-predicates.

The formalization of the initially chosen predicates was performed entirely by means

of pencil-and-paper, without use of the computer. Two of the three teams completed the

entire formalization before starting to work on the computer, whereas the third team per-

formed most of the formalization using pencil-and-paper, and continued to formalize

additional problem-predicates on the computer.

Only at later stage, about three hours after beginning the workshop, did the teams

begin to use the computer, first to type-in and edit the already written facts and rules. All

the teams performed run-and-test activities as soon as the whole program was keyed-in

the computer. Changes in the formalization of the problem-predicates were made as a

result of the debugging process.

Fig. 1 shows that ADTs served as meaningful development tools for Type A teams.

They used ADTs throughout most of the development process.

All the teams displayed a structured linear process in developing the project, exactly in

accordance with the six-phase model suggested above. All the teams followed the same

order in executing the stages of project development, and all made a clear distinction

between the different stages.

We can conclude that for type A teams, abstract data types served as a means for or-

ganizing the entire development process. The use of list ADT for representing knowledge

and the use of predefined list black box for formalization encouraged the development of

a systematic structured process.

3.2.2. Type B

Type B includes three teams who used ADTs with no predefined black boxes, and tried

to construct the suitable black boxes during the project development process.

All the Type B teams analyzed their problems at the beginning of the development

process. They started to define their goals immediately as a result of the problem anal-

ysis, and two of the three continued to do so as their work progressed. All three teams

generalized the problem, distinguishing between the specific and the general problems

involved. All of them began their choice of problem-predicates immediately after deter-

mining the abstract data type.

The three teams chose suitable abstract data types for the knowledge representation of

their problems. However, unlike the Type A teams that opted for the list ADT, the Type

B teams selected the tree or graph . One of the teams chose the tree ADT at the beginning

of the process, and then decided on a subject that could properly be represented by it.

Since the abstract data type here was not the list (for which a predefined black box

file was available), but instead the tree or the graph (for which no such predefined black

box file was available), the formalization stage was not trivial for the students, in fact it

was also very challenging. The students had to write a program to implement the tree or

graph ADT that they had decided to use.

One of the teams performed a mapping between problem-predicates and tree-

predicates that could assist them in their formalization. They started by developing a

Mini-Projects Development in Computer Science – Students' Use of Organization Tools 315

black box to represent the tree ADT, copying the formalization of selected tree-predicates

from the textbook. This was a relatively short process, and since the team relied on the

formalization of tree-predicates in the book, they did not query the program to test the

formalization. Once the black box had been constructed, they used it to formalize the

problem predicates.

Another team attempted to construct their own black box to represent the tree with-

out consulting the textbook. This was a lengthy process, during which the formalized

tree-predicates were tested and debugged. Like the previous team, they too used the con-

structed black box to formalize problem-predicates.

The third team, which had chosen the graph, utilized it only at the level of graphi-

cal illustration to present data. Although they stated explicitly that the suitable abstract

data type for their problem was the graph , they did not show any intention of using a

black box representing the graph. They made no effort to check if there existed a suit-

able, predefined black box, nor did they attempt to construct one. This team formalized

problem-predicates by means of Prolog if-then rules, while referring to the graphic de-

piction of the abstract data type.

The two teams that constructed a tree black box began their formalization directly on

the computer at an early stage of the development process. The team that relied on the

graph to depict the relations between the problem-predicates worked on their formaliza-

tion at the level of pencil-and-paper, and only later copied their notes into the computer.

The teams did not display uniformity in the way in which they tested the program. The

team that had constructed a tree black box on its own, with no use of the textbook, entered

queries at the very beginning of the formalization process so as to test the formalization

of the tree-predicates. The team that had relied on the textbook to construct the tree black

box did not query the formalization of the tree-predicates, but rather periodically tested

the problem-predicates as new ones were added. The team that employed the graph at the

level of graphic depiction alone performed a run-and-test only after entering the entire

program.

Generally speaking, all three Type B teams closely followed the six-stage model in

developing their projects. Like the Type A teams, they displayed a systematic structured

process. We can conclude that for Type B teams, like those in Type A, ADTs served a

means of organizing the development process. Here, however, the lack of a predefined

"black box" complicated this process.

3.2.3. Type C

Type C included four teams. All the teams defined their goals at the beginning of the

process, and one continued to do so during the course of their work. All four teams

started to analyze the problem at the very beginning of the workshop. They identified the

entities involved in each sub-problem and the relations between them. They generalized

the problem, distinguishing between the specific and the general problem involved.

All of the teams chose their problem-predicates by means of a stepwise refinement in

the course of formalization, performing a hierarchical mapping of the various predicates.

They used illustrations to aid in their mapping.

316 Z. Scherz, B. Haberman

None of the teams in this group attempted to identify an ADT suitable for the prob-

lem. Consequently, the solution was developed at the level of the problem alone, without

reference to any formal model to represent it and without the use of general predicates

for formalization.

Formalization began immediately after the initial choice of problem-predicates. The

most prominent feature of this group was the alternating manner of their work, combining

the choice of problem-predicates with their formalization.

Interestingly enough, three of the four teams began their formalization by means of

pencil-and-paper, and only later keyed it into the computer. The fourth team began work-

ing with pencil-and-paper, and then alternated this activity with work on the computer.

Three teams ran and tested their programs only at the end of the formalization process,

and did not add any new problem-predicates according to the results. The fourth team be-

gan to query the program during the choice and formalization of the problem-predicates.

The Type C teams only partially followed the six-stage model in developing their

projects and displayed a fairly structured process, although less organized than the Type

A and Type B teams. We have concluded that while for teams of Type A and Type B,

ADTs were used as a project development organizer, for Type C teams, who did not

use ADTs, the definition of goals and the choice of problem-predicates served as the

organizer for their work.

3.2.4. Type D

Type D consisted of three teams. None of the teams in this group performed problem

analysis, nor defined goals at the beginning of the development process. In fact, one of

the teams never did this at any stage. Another team took a break in the middle of the

development, when the members realized that the process was not proceeding well and

began again, this time defining their goals. The third team only defined the goals at the

end of the development when they were writing up their report and discovered in the

instructions that the description of projects' goals was to be included in their report.

The teams did not distinguish between specific instances and the general problem

at the start of development. The decision as to which problem-predicates would be for-

malized through data and which through rules was taken throughout the course of the

process.

All the teams continued to choose their problem-predicates throughout most of the

process of development, in parallel with their formalization.

None of the teams made any attempt to identify a suitable abstract data type for the

problem. Consequently, the solution was formulated at the level of the problem itself,

without reference to any formal model to represent it and without the use of general

predicates in the formalization. Only while writing up their final report did one of the

teams retrospectively define the ADT in order to fulfill the requirements of the report.

Formalization began immediately at the start of development, and was done directly

on the computer, without any use of pencil-and-paper. All Type D teams started to work

on the computer at a very early stage.

Only one team performed a run-and-test after entering the entire program. The other

two teams did so in the course of the formalization.

Mini-Projects Development in Computer Science – Students' Use of Organization Tools 317

The Type D teams followed the six-stage model only to a very minor extent. They

displayed a development process that was highly unstructured and based primarily on

trial and error. The teams displayed no organizing principles throughout much of the

development process. Instead, the computer served as their primary tool in developing

and organizing the program.

4. Conclusion

Table 2 illustrates the categorization of the four types of project development teams.

We found that each team employed some organizing tool in developing their project.

Half of the teams (types A and B) employed abstract data types in one form or another.

The use of abstract data types clearly simplified the development and contributed to a

systematic structured process. Type A teams who used the predefined list ADT black

box to formalize problem-predicates, developed their projects in an organized and struc-

tured manner. These teams postponed the use of the computer until the final stages of the

project's development.

Type B teams that utilized ADTs to present their problems, but did not use predefined

ADT black boxes and instead created black boxes of their own, also worked in a struc-

tured and organized manner. Some teams had difficulties in creating the black boxes, but

this did not interfere with the systematic development process. These teams started to use

the computer at an earlier stage than the Type A teams; since they wanted to test the black

boxes they created.

Half of the teams (Type C and D) did not employ abstract data types in any form, and

worked in a less structured way than the teams that used ADTs. Those teams seemed to

use another tool to organize their development processes. Type C teams that defined the

project's goals, and chose problem-predicates in the early stages of the process, worked

in a more structured way than the Type D teams that did not bother to define goals at all.

Eventually Type C teams used the definition of the goals and the relationship between

Table 2

Categorization of the project development processes

Use of Abstract Data Types No Use of Abstract Data Types

Type A Type B Type C Type D

(3 teams) (3 teams) (4 teams) (3 teams)

Predefined

ADT black boxes Self-defined

ADT black boxes Definition of goals Trial and error

Use of the computer at

a very late stage Use of the computer at

an early stage Use of the computer at

alatestage Intensive use of the

computer from the

beginning

Structured process Structured process Mostly structured

process Unstructured process

318 Z. Scherz, B. Haberman

problem-predicates as a means of organizing the project development, whereas Type D

teams employed trial and error techniques to develop their projects, and used the com-

puter intensively through the entire development process to test their formalization.

We have concluded that project developmentrequires a solid means of organizing the

construction and direction of the project. Our instructional approach was to introduce to

students a variety of problem-solving tools. Students seemed to use some of these tools as

project organizers. Students' employment of project organizers influenced the nature of

the entire development process. We found that the choice of ADTs, which are advanced

CS problem-solving tools, resulted in a structured and well-organized development pro-

cess.

References

Aho, A.V., and J.D. Ullman (1992). Foundations of Computer Science. W.H., Freeman and Company.

Atman, C.J., K.M. Bursic and S.L. Lozito (1996). An application of protocol analysis to the engineering de-

sign process. In Proceedings of the American Society for Engineering Education Annual Conference, June,

Washington, DC.

Atman, C.J., and K.M. Bursic (1998). Documenting a process: the use of verbal protocol analysis to study

engineering student design. Journal of Engineering Education Special Issue on Assessment ,87(2), 121–132.

Chi, M.T.H. (1997). Quantifying qualitative analysis of verbal data: a practical guide. The Journal of the Learn-

ing Sciences,6 (3), 271–315.

Dale, N., and H.M. Walker (1996). Abstract Data Types – Specifications, Implementations, and Applications.

D.C. Heath and Company.

Fincher, S., M. Petre and M. Clark (Eds.) (2001). Computer Science Project Work Principles and Pragmatics.

Springer-Verlag, London.

Gal–Ezer, J., C. Beeri, D. Harel and A. Yehudai (1995). A high school program in computer science. IEEE

Computer,28(10), 73–80.

Gal–Ezer, J., and D. Harel (1999). Curriculum and course syllabi for a high school CS program. Computer

Science Education,9 (2), 114–147.

Haberman, B., E. Shapiro and Z. Scherz (2002). Are black boxes transparent? – High school students' strategies

of using abstract data types. Journal of Educational Computing Research ,27(4), 411–436.

Haberman, B., and Z. Scherz (2003). Abstract data types as tools for project development – high school stu-

dents' views. Journal of Computer Science Education Online , January 2003. Available:

www.iste.org/sigcs/community/jcseonline/2003/1/haberman.cfm

Holcombe, M., A. Stratton, S. Fincher and G. Griffiths (Eds.) (1998). Projects in the computing curriculum. In

Proceedings of the Project 98 Workshop. Springer-Verlag, London.

Parnas, D.L. (1972). On the criteria to be used in decomposing systems into modules. Communication of the

ACM,15(12), 1053–1058.

Scherz, Z., and B. Haberman (1995). Logic programming based curriculum for high school students: the use of

abstract data types. SIGCSE Bulletin ,27(1), 331–335.

Schoenfeld, A.H. (1985). Mathematical Problem Solving . Academic Press, Orlando, FL.

Sterling, L., and E. Shapiro (1994). The Art of Prolog , 2nd ed. MIT Press, Cambridge, MA.

Mini-Projects Development in Computer Science – Students' Use of Organization Tools 319

Z. Scherz has a MSc in biophysics, and a PhD in science education. Her postdoctoral

research was performed at the University of Washington's College of Education. In 1984,

she joined the staff of the Department of Science Teaching at the Weizmann Institute of

Science, where she has led the Logic Programming in Education Group, and currently

heads the chemistry and the scientific communication teams at the junior high level. She

has written many learning materials for the junior high and high school levels in the

areas of logic programming, artificial intelligence, science and technology and high order

skills. Her research has focused on student conceptualization of computer science and

scientific principles, on their learning of high order skills, as well as on the professional

development of leading teachers.

B. Haberman received her PhD degree in science teaching from the Weizmann Institute

of Science in 1999. She is currently an instructor in the Department of Computer Science

in the Holon Academic Institute of Technology. She is also a member of the computer sci-

ence team in the Department of Science Teaching in the Weizmann Institute of Science,

and a leading member of Machshava – the Israeli National Center for high school com-

puter science teachers. She has developed learning materials for high school level in the

areas of logic programming and artificial intelligence, and algorithmic patterns. She has

developed academic programs for undergraduate level in computer science. Her primary

research interests are computer science educational research, students' conceptualization

of computer science, as well as in-service teacher education and distance learning.

Nedideli

uprojekt

u vystymas informatikoje: moksleivi

ugeb

˙

ejimas

naudotis organizacin˙

emis priemon˙

emis

Zahava SCHERZ, Bruria HABERMAN

Straipsnyje aprašoma studija, kuri

a atliekant nagrin˙

eti skirtingi student

uprojekt

u vystymo pro-

filiai. Ypatingas d˙

emesys kreipiamas

igeb

˙

ejim

a naudoti abstrakˇ

ciuosius duomen

u tipus, skirtus

vystyti žiniomis paremtus projektus.

Abstrakˇ

ci

uj

u duomen

u tipo koncepcija buvo pristatyta vidurini

u mokykl

u moksleiviams,

lankiusiems „Informatikos – loginio programavimo" kurs

a. Pamok

u metu moksleiviai buvo su-

pažindinti su skirtingomis projekt

u vystymo priemon˙

emis bei metodais, kuri

uvienasr

˙

em˙

esi ab-

strakˇ

ci

uj

u duomen

u tip

u panaudojimu sprendžiant uždavinius bei reprezentuojant žinias.

Kurso pabaigoje, buvo suorganizuotas vien

adien

atruk

es seminaras mini projekt

u vystymui

grup˙

ese, visas vystimo procesas buvo fiksuojamas garso bei vaizdo aparat¯

ura, o v˙

eliau sustruk-

t¯

uruotas bei išanalizuotas. Buvo išskirti atskiri grup˙

es elgsenos atliekant projekt

a profiliai. Išanali-

zavus šiuos profilius buvo išskirti keturi projekto vystymo grupi

u, – vykdant projekt

a kiekvienoje iš

j

u pasitelktos vienokios ar kitokios organizacin˙

es priemon˙

es, – tipai. Dviejuose projekto vystymo

grupi

u tipuose buvo pasitektas abstrakˇ

ci

uj

u duomen

u tip

u metodas, o kitose dviejose – naudoti

kiti metodai. Tyrimas atskleid˙

e, kad tiems, kurie projekto vystymo eigoje pasitelk˙

eabstrak

ˇ

ciuosius

duomen

u tipus, sek˙

esi kur kas geriau ir j

u darbas buvo labiau strukt¯

uruotas bei organizuotas, nei t

u,

kurie vadovavosi kitais metodais.

... The results previously described indicate that students have difficulties in establishing correct mapping between the problem and its abstract (context-free) model–the corresponding ADT, and in establishing proper communication between specific corresponding programming modules. These difficulties are apparently associated with difficulties often encountered by a novice in learning to program in Prolog (Resnick et al., 2000; Scherz and Haberman, 2005 ), and with the cognitive load required to write a program (Pain and Bundy, 1985) especially when dealing with high levels of abstractions (Haberman and Scherz, 2005). ...

... In addition, learning and instructional activities should be organized in such a manner as to minimize the cognitive load imposed upon the students when they are required to develop a program. One way that this can be achieved is to coach the students to organize their programs hierarchically and modularly (Scherz and Haberman, 2005; Sterling and Shapiro, 1994). In order to foster integrative knowledge, we recommend that students continue, at each stage of learning, to practice and meaningfully utilize the tools and the methods that they have previously acquired (Haberman and Scherz, 2005 ). ...

  • Bruria Haberman Bruria Haberman
  • Zahava Scherz

For over a decade, a declarative approach to problem solving based on the use of ab- stract data types (ADTs) has been taught to high-school students as part of the logic programming instructional unit. We conducted a study aimed at assessing students' problem-solving processes when utilizing ADTs. The findings indicated that students' strategies that diverged from the con- ceptual model often cause the students to develop incorrect programs. Specifically, students have difficulties in establishing correct mapping between the problem and its abstract model - the cor- responding ADT, and in establishing proper connectivity between layers of abstraction related to different stages of the problem-solving processes (e.g., between distinct programming modules). These difficulties are apparently associated with general difficulties that novices encounter when learning programming, and with the cognitive load encountered when dealing with high levels of abstraction. With the intention to reduce student difficulties, we suggest using an instructional ap- proach designed to gradually educate the students toward attaining proficiency as "problem solvers" through the use of integrative knowledge and autonomous problem-solving techniques. This ap- proach should be further evaluated regarding its feasibility and applicability to reducing students' difficulties in dealing with abstraction processes.

The authors served on a committee that designed a high-school curriculum in computer science and has been supervising the preparation of a comprehensive study program based on it. The new program is intended for the Israeli high-school system, has been formally approved by the Ministry of Education, and is expected to fully replace the old one in the near future. The program emphasizes the foundations of algorithmics, and teaches programming as a way to get the computer to carry out an algorithm. The purpose of this paper is to describe the program's curriculum and syllabi in detail.

  • Zahava Scherz
  • Bruria Haberman Bruria Haberman

Logic programming and AI based courses have been taught during the last few years to Israeli high school students as part of a computer science curriculum. A special curriculum aimed at teaching concepts of logic programming and AI principles, using Abstract Data Types (ADTs) in Prolog environment was developed in the Weizmann Institute of Science. This curriculum is based on a flexible instructional model according to which the processes of problem solving and knowledge representation are carried out through several main phases while using ADTs. The flexibility of the model is achieved by encapsulating the ADTs' implementation in distinct computer programs. The curriculum was successfully implemented in Israeli high schools and was found to be suitable for a wide range of students.

  • Zahava Scherz
  • Bruria Haberman Bruria Haberman

Logic programming and AI based courses have been taught during the last few years to Israeli high school students as part of a computer science curriculum. A special curriculum aimed at teaching concepts of logic programming and AI principles, using Abstract Data Types 1995 in Prolog environment was developed in the Weizmann Institute of Science. This curriculum is based on a flexible instructional model according to which the processes of problem solving and knowledge representation are carried out through several main phases while using ADTs. The flexibility of the model is achieved by encapsulating the ADTs' implementation in distinct computer programs. The curriculum was successfully implemented in Israeli high schools and was found to be suitable for a wide range of students.

  • Bruria Haberman Bruria Haberman
  • Ehud Y. Shapiro
  • Zahava Scherz

For the last ten years the concept of abstract data types (ADTs) has been introduced to Israeli high school students who take the courses "Logic Programming" and "Introduction to Artificial Intelligence" as part of their Computer Science (CS) curriculum. We developed an instructional model designed to introduce ADT as a formal CS concept and as a tool for developing computer programs. To implement the abstract data types, we used "black boxes." Here we describe our research whose aim was to assess the cognitive aspects of using ADTs as tools for knowledge representation and problem solving by different student populations. Our research findings indicated that many students' perceptions of the ADT concept were compatible to its formal CS definition, and they used black boxes transparently to develop Prolog programs. However, there were also students who adopted their own strategies for using ADTs: a) using ADTs only as a graphical description to organize data and knowledge; and b) using "ADT black boxes" in alternative ways, while violating the principle of information hiding - duplication, rewriting, and externalization. The findings also indicated that "ADT black boxes" were beneficial in helping beginners to develop correctly written Prolog programs.

  • Cynthia J. Atman
  • Karen M Bursic Karen M Bursic

Undergraduate engineering programs have faced numerous challenges in recent years. One of these challenges is to improve the way open-ended design is taught. Although changes are underway in schools throughout the United States, not enough evaluation has been done to determine the impact of these changes. In this paper we describe a research tool that can also be used to assess student learning: verbal protocol analysis. In particular, this tool can be used to document the processes that engineering students use to solve open-ended engineering design problems. The objective of this paper is to demonstrate the use of verbal protocol analysis as a method to assess student design processes. We also discuss the research questions that can be addressed by verbal protocol analysis and the opportunity to include this type of study as part of an engineering program evaluation.

Posted by: harleyharleyholmoneer10264917.blogspot.com

Source: https://www.researchgate.net/publication/220396178_Mini-Projects_Development_in_Computer_Science_-_Students'_Use_of_Organization_Tools

Post a Comment

0 Comments