<<

Session F1C Teaching Abstraction to Novices: Pattern-Based and ADT-Based Problem-Solving Processes

Bruria Haberman and Orna Muller [email protected], [email protected]

Abstract - Abstraction is taught to computer- and, furthermore, in identifying which tasks should be students as part of a comprehensive curriculum. The performed when dealing with different abstraction layers students encounter the of abstraction in various during various stages of solving a problem. Adequate contexts while the different modules, each of learning of abstraction by novices may enhance their which emphasizes some specific aspects of the concept. In problem-solving abilities. For example, reflection on the this paper we present two instructional approaches, both process, estimation of the product's quality, and reusability related to utilizing abstraction in problem-solving in future tasks, need to be part of the routine of learning, processes: (1) pattern-oriented instruction (POI), and (2) when utilizing abstraction tools [9]. abstract data type (ADT)-oriented instruction. We In this paper we present and compare two instructional present these methods with respect to their employment approaches, both related to utilizing abstraction in problem- in teaching to novices, and elaborate on solving processes: (1) pattern-oriented instruction (POI), and abstraction processes. (2) abstract data type (ADT)-oriented instruction. POI is a pedagogical approach by which patterns are Index Terms – Abstraction, algorithmic patterns, abstract incorporated in a CS1 course in order to support the learning data types, problem solving. of algorithmic problem solving. This approach highlights distinct, though interrelated, facets of abstraction processes INTRODUCTION in the course of algorithmic problem solving: Pattern Abstraction is a major recurring concept in Recognition, Black-Boxing, and Structure Identification, all and is considered an important tool in software development. of which play important roles in analyzing and solving It is the process of generalizing by reducing the algorithmic problems when using algorithmic patterns [14]. content of a concept, typically in order to retain only Abstract data types (ADTs) are considered as useful tools information that is relevant for a particular purpose for CS problem solving and representation [5]. Abstraction is associated with the following features: (a) The ADT-oriented instructional approach is based on generalization of specific examples; (b) identification, gradually introducing ADTs as flexible problem-solving extraction, and isolation of essential components, and (c) tools using evolving programming boxes [8]. This approach ignoring or holding back irrelevant details. In the context of illuminates three distinct, though interrelated, phases of the problem solving, we refer to different abstraction levels that ADT concept: Specification, Implementation, and Usage. It are associated with various stages of problem-solving is employed to teach problem-solving strategies and processes. Gaining expertise in problem solving means knowledge representation methods utilizing an abstraction- able to identify which abstraction level is suitable for a based problem-solving that entails particular stage, with regard to problem analysis, solution transitions between abstraction levels. design, and implementation. Studies show that experts and Section 2 presents each approach with respect to its novices differ in their abstracting, and generalizing abilities instructional goals, learning contexts, and its associated [7,11,15]. Educators recommend introducing the concept of conceptual problem-solving model. Section 3 presents, at a abstraction to CS students, starting in the early stages of glance, empirical findings of each approach in teaching their studies [1,4,5]. Actually, students encounter the problem-solving to novices, specifically relating to concept of abstraction in various contexts while learning abstraction processes. In section 4 some pedagogical different study modules and related problem-solving considerations are raised concerning the implication of techniques. Nevertheless, novices experience difficulties in teaching the same students according to both approaches in a utilizing abstraction processes and tools. Hence, it is way that will benefit enhancing students' problem-solving important that instructional design be oriented towards abilities. constructing an integrative, coherent of TEACHING ABSTRACTION - TWO APPROACHES abstraction. Students need to develop proficiency in choosing the In this section we present two approaches for teaching most suitable abstraction tool for solving a given problem abstraction to novices. Each approach is presented with 978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference F1C-7 Session F1C respect to its goals, instructional model, learning contexts, Black boxes may be unfolded when composing a final and the associated conceptual problem-solving model. detailed solution to a given problem. Problems are usually constructed of more than one sub- I. Pattern Oriented Instruction problem, each of which is a problem in itself that includes a Pattern oriented instruction (POI) is a pedagogical approach task/goal and data. Structure identification is the process of that incorporates patterns in an introductory CS course. Its decomposing a problem into sub-tasks and identifying the main goal is to develop algorithmic problem solving skills. relations between them. It requires an abstractive view of a Algorithmic patterns refer to classification of recurring problem as a system composed of several interrelated algorithmic problems according to their goals (i.e., "Extreme components. It requires identifying the main task(s) and Value Computation", "Checking the existence of an item building a between the various tasks; the hierarchy that satisfies a condition"). Patterns are examples of "expert establishes a timeline of a solution plan, and the flow of data solutions", and they serve as building blocks for developing between the sub-tasks. algorithms to solve new problems. According to the POI The guidelines for utilizing the POI approach stress approach, in teaching students how to program, the abstraction processes, and not merely "abstraction products" algorithmic problems introduced are organized around (i.e., following recipes for solutions): the search for patterns patterns and do not relate only to programming features (as develops pattern recognition skills; analyzing the way frequently occurs in an introductory course). subtasks are related in a solution develops the ability to Guidelines for incorporating a POI approach are as abstract and visualize the structure of a problem as a whole follows: A pattern is abstracted from analogous examples, and facilitates a proper representation of it; acquiring a and defining a pattern is a way of stating explicitly their repertoire of problem prototypes triggers an for a common features. The pattern's components and the solution. An inclusive purpose of learning according to the underlying that are captured in a pattern are discussed. POI approach is to develop abstraction skills and the ability Links are drawn between different aspects of a pattern and to perform abstraction processes as a mental habit. its use since one needs to know when and how to use a II. ADT-Oriented Instruction pattern correctly. Typical applications, special cases of a pattern in different contexts, as well as its common misuses Use of abstract data types (ADTs) in problem-solving and are introduced. Problems are carefully sequenced so that knowledge representation is a dominant component of a CS their level of complexity will be gradually increased, in curriculum. An instructional approach to gradually introduce order to enhance assimilation and formation of cognitive ADTs as flexible problem-solving tools was developed [6,8]. schemas [12]. Compound problems are analyzed with The approach was employed to teach problem-solving respect to different ways several patterns may be combined strategies and knowledge representation methods in the in a solution. Students exercise the adjustment of patterns declarative logic programming paradigm (LP); however, it according to various constraints, and the of can be easily adapted to other programming paradigms. The different solutions to a problem with regard to efficiency and approach is based on the following conceptual model: elegancy considerations. The ADT-based problem-solving conceptual model: The POI approach attempts to encourage the use of abstraction during instruction and learning. We refer to three Our conceptual model of utilizing ADTs in problem-solving main processes: Pattern Recognition, Black-Boxing, and processes is compatible with the formal definition of the Structure Identification. The term Pattern (schema) ADT concept and includes the following stages [6,8]: Recognition applies to the process of revealing the essence • Conceptualization: Comprehending a given problem; of a problem while ignoring the specific context from which identifying the main ideas, , entities, and the it emerges. Pattern recognition relates to the realization of relations among them; defining the main goals to be similarities between analogical problems. In the course of solved and queries to be answered. solving a given problem, pattern recognition activates a • Generalization: Distinguishing between the general schema in and facilitates the retrieval of relevant description of a problem and its concrete specific cases. stored information. Choosing problem-predicates that describe the general The term Black-Boxing (chunking) applies to relations within the problem and the data-predicates that compacting or condensing a chunk of details into a single specify concrete cases of the problem. entity in such a way that the details themselves cease to exist • Abstraction: Expressing the concepts and relations in as separate items, and what remains are the properties and terms of abstract data types; deciding on a suitable ADT functionality of the new entity. The encapsulation of that characterizes the general problem by choosing an information into a black box allows it to be used repeatedly appropriate formal model to describe the collection of without referring to its content. Thus, it reduces the objects defined by the problem, and general ADT- complexity one faces when trying to solve a compound predicates that are suitable for representing the relations problem. A black box is considered a ready-to-use tool and a between the objects, as defined in the problem. In this building block in composing a solution to a larger task. stage, one ignores the content of the general problem and relates to its abstract form.

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference F1C-8 Session F1C • Formalization: Representing the concepts and the model was developed for that purpose that gradually relations that were identified in a computer program. introduces ADTs as flexible problem-solving tools using Describing the general problem in terms of formal evolving boxes [6,8]: terminology by transparently using ADT black boxes. In ƒ Acquaintance with given specifications of ADTs: this stage, problem-predicates are implemented in the Initially students become acquainted with the specification main program by invoking (predefined in black boxes) of generic ADTs (e.g., lists, sets, trees, and graphs). ADT-predicates. Examples of concrete problems are used to exemplify the • Concretization: Representing the concrete data (input) in presented ADTs. terms of data-predicates. This can be done in the main ƒ Identification of the problem's type (a suitable ADT): program or in a distinct file. The concrete case of the Students practice how to choose ADTs to solve a given problem is described by defining the problem-predicates problem. in terms of data-predicates. ƒ Use of ADT black boxes in programming: Students • Testing: Debugging and assessing the program according practice using predefined ADT black boxes to to the specified requirements. solutions of given problems. We emphasize to students The ADT-based problem-solving process involves treating that the use of a black box binds to its interface and is the problem (towards obtaining its solution) at different independent of its implementation. abstraction levels. The first three stages: Conceptualization, ƒ Specification of new ADTs: The student plays the role of Generalization, and Abstraction relate to the comprehension a consumer who specifies and orders a new ADT black and analysis of the problem; the three next stages: box from his teacher. The teacher supplies the required Formalization, Concretization, and Testing relate to ADT black box (according to the student’s specifications), composing a suitable solution for the given problem based which is then used by the student to construct his solution. on the results of the analysis. Actually, the model relates to ƒ Acquaintance with the implementation of predefined different phases of a problem's representation: Initially, we ADT boxes: After students become familiar with the relate to the given problem at its concrete level; next, we specifications and use of ADTs, they learn how to relate to the general problem, which is a generalization of implement an ADT according to its specifications. At this the given problem, distinguishing between the specific data point, the black boxes that have been transparently used in related to the given problem and its general characteristics. the previous stage become unfolded, visible yet only read. Next, we map from the general problem to a completely The students perform operations such as reading the code, context-free abstract model (ADT) that captures the logical running the code, and following up its execution in order interrelationships among the problem's entities. This stage to understand "how it works". involves the highest level of abstraction in the problem- ƒ Manipulation of predefined ADT boxes: At this stage, solving process. From that point, we return to deal with the the read-only boxes become more accessible in the sense lower levels of abstraction related to the problem: first, to that their code can also be modified. Students practice the general problem of formalizing the general features of code modification, and writing new code from scratch. the problem in terms of programming statements, ƒ Implementation of new ADTs: After becoming and then to the concrete problem of linking up the general acquainted with the implementation of predefined ADTs, features with the concrete specific data. the students experience how to implement new ADTs Communicating with ADT black-boxes: Achieving a correct according to a given specification, without depending on solution requires proper linking between various modules ready-to-use programming tools. related to distinct abstraction layers of the problem's : ƒ Autonomous problem solving: Students make a (a) the general problem, (b) specific data that relate to a significant step toward attaining proficiency. They start concrete case of the general problem, and (c) the abstract acting like autonomous developers and employ ADTs as decontextualized problem (i.e., the relevant ADT black box). follows: They try to determine whether any familiar ADTs Specifically, in the case of logic programming, proper links suit the given problem and use the relevant predefined should be established in the following channels: (a) between ADT black boxes. When familiar ADTs do not suit their specific data and data-predicates, (b) between problem- needs, they specify new ADTs from scratch or modify the predicates and data-predicates, and (c) between problem specification of other ADTs. predicates and the corresponding ADT-predicates. The STUDENT DIFFICULTIES WITH ABSTRACTION should be accomplished through the interfaces of the relevant modules. I. Students' difficulties with Algorithmic Problem Solving The ADT-based instructional model: A study was conducted to evaluate the influence of the POI The problem-solving model described above may be used approach on high-school students' problem-solving by the students both for solving small-scale problems and competence (N=275; CS1 course). Classes that learned for developing projects. The teaching-learning process according to the POI approach were compared with classes should be designed to gradually prepare the students toward that learned in a traditional manner. Research tools included attaining proficiency as "problem solvers". An instructional assignments involving algorithmic development, verbal formulation of solution ideas, and of 978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference F1C-9 Session F1C algorithmic problems. Students of both groups encountered initially learned and succeeded to utilize predefined black some characteristic difficulties, though several of them were, boxes, had difficulties in transparently using black boxes according to our research findings, significantly reduced by after becoming acquainted with their implementation [6]. using the POI approach [13]. Analysis of the following This clearly indicates that novices have difficulties in description of students' difficulties is based on the POI differentiating between distinct abstraction levels. terminology described above. Here we discuss students’ difficulties related to incorrect Difficulty in abstracting a general idea for a solution: linking between the solution's components, in various stages When requested to formulate a short and concise description of the problem-solving process. Specifically, we found that of an idea for a solution, students tended to give a students have difficulties in establishing correct mapping description based on implementation details, even of minor between the problem and its abstract model - the subtasks. This finding points to students' difficulties in corresponding ADT, and in establishing proper linkage mastering the details of how a subtask is solved and closing between distinct modules. Often, even though students it in a "cognitive Black-Box". correctly identify the appropriate ADT for a given problem, Difficulty in categorizing a problem's prototype: Students they fail to use correctly the corresponding ADT- black box; used unsuitable criteria when categorizing problems, more specifically, they fail to establish proper links between choosing a too general criterion (i.e., "comparing values") various components at the abstract level (the space problem that may include a large variety of problems and not only the and the corresponding ADT operations), or at the type of the presented problems. False categorizing was also programming level (i.e., connectivity between specific data, due to referring to contextual details of the problem (i.e., the data-predicates, problem-predicates, and the corresponding type of data involved: "problems involving characters"), and ADT-predicates) The following students' difficulties were difficulty in extracting the problem's main task/goal. identified (the corresponding problem-solving phases, Distraction by surface similarities between problems: associated with the difficulties, are indicated in the Identification of similarities between examples consists of parentheses): both abstracting common structural features in problems and Incomplete abstraction: This refers to missing mapping also noting surface similarities. Surface (also called between problem-predicates and the corresponding ADT- superficial) similarities refer to entities, phrasing, the story predicates (Abstraction). line, and the problem's context. The distraction causes the Missing linkage to an ADT-black box: Students avoided current problem to be associated with irrelevant previous linkage between data-predicates and the corresponding examples, which leads to the retrieval of irrelevant schemas ADT-predicates. Interviews with students revealed that they and examples [3,10]. This reveals that the students have a might misleadingly assume that somehow the connection low ability to concentrate on structural components of the between the predicates automatically occurs owing to problem and ignore specific or less relevant details. loading both files of the main program and the ADT-black Difficulty in taking a global view of a problem's structure box (Formalization, Concretization). and recognizing the main task of a problem. When dealing Linking to an incorrect ADT-black box: Sometimes the with a compound problem and its solution, students must students use general-predicates of a specific ADT-black box, analyze a problem's structure and decompose a problem into but they link to another black box. For example, students use its subtasks. Students referred only to local or set-predicates, but link to a list-black box (Abstraction). fractional/partial tasks, which may be more apparent in a Incorrect linking: Sometimes, even though the students problem's description, and they failed to identify all subtasks refer to the suitable ADT- black box, they fail to construct a and to observe the problem as a hierarchical structure of link to that black box. Students often believe that casting tasks. specific data (input) into data-predicates guarantees Students have no idea for a solution and do not know how accessibility to the data when posing a query, and therefore to start: this results from a poor repertoire (toolbox) of they might skip linking to the black-box or to the problem- problems & solutions. They do not identify similarities predicates (Formalization, Concretization). between problems, especially between a current problem and Difficulties in dealing simultaneously with several levels previously solved ones. of abstraction: Sometimes students avoid mapping from the The above difficulties reflect on poor abstraction problem directly to a generic ADT, and they define a processes at different stages of acquiring problem-solving mediator-problem-based ADT aimed at describing the skills and while confronting a novel problem. general problem. For some students this might cause difficulties in linking between the specific data and the II. Students' difficulties with ADTs problem-predicates. For example, students correctly link We conducted an ongoing qualitative and quantitative study only when posing queries to the program, and avoid linking aimed at assessing various aspects of high-school students' in the program. This results in a program in which the use of ADTs in LP (N= 229) [6,8]. The findings indicated generality of the problem's solution is usually reduced that students' strategies that diverged from the conceptual (Abstraction, Formalization, Concretization). model might cause the students to develop incorrect The findings described above indicate that students have solutions. One interesting finding was that novices who difficulties in establishing correct mapping between the

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference F1C-10 Session F1C problem and its abstract (context-free) model, the When ADTs are utilized to solve a problem, the corresponding ADT, and in establishing proper identification of the problem's type relates mainly to communication between specific modules. identifying the ADTs (one or more) suitable to represent the problem. However, in the case of solving an algorithmic DISCUSSION AND CONCLUDING REMARKS problem using the POI approach, the identification of the Abstraction is a fundamental concept in computer science problem's prototype relates to identifying its main task and and serves as an important tool in problem solving. Since the corresponding pattern. novices frequently experience difficulties in utilizing Encapsulation (black-boxing) is not the same in the two abstraction processes and tools, it is important that the approaches. In the POI approach, black-boxing is more instructional design be oriented towards constructing an conceptual; it delays dealing with implementation details integrative, coherent perception of abstraction. Students even though one eventually plans to submit a detailed need to develop proficiency in choosing suitable tools for algorithm. In the ADT-oriented approach, beyond being a dealing with various abstraction layers of the problem's concept, black boxes serve as concrete programming space, as well as in performing suitable transitions between artifacts. abstraction layers. In both approaches, elevating the abstraction level takes place when one moves from the concrete problem to its de- I. Comparison of the approaches contextual formal model. This stage involves prototyping of In this paper we presented two instructional approaches used the given problem, defining entities and relations, and when teaching two courses; one follows the other; both constructing a plan. Moving to a higher abstraction level when solving a problem is most important for the following utilized abstraction tools: (1) the POI approach, which incorporates patterns in a CS1 course in order to support : (a) Prototyping a problem helps in reusing a learning algorithmic problem solving; and (2) the ADT- solution to a familiar type of problems, (b) Ignoring irrelevant details reduces the cognitive load in the course of oriented approach that is employed to teach knowledge representation utilizing evolving ADT boxes. The solving the problem; all together, elevating the abstraction approaches presented here differ in several aspects but level supports reducing the complexity. Reducing the abstraction level takes place when one retreats from the complement each other: (a) Instructional goals: The main goal of the POI approach abstract representation of a solution down to the concrete, is to enhance students' ability to develop algorithms, context-based solution, taking into consideration the specified requirements and the concrete data associated with emphasizing full development and implementation of methods. In contrast, the ADT approach aims at teaching the problem. The transition between abstraction layers is students how to use transparently predefined black boxes; most important in problem solving. Both the POI- and ADT- oriented approaches conceptualize these processes in a the main algorithm is often composed of "only" a consecutive invocation of predefined methods. refined solution. (d) Common difficulties: The studies presented here were (b) Problem-solving context: Algorithmic patterns are usually introduced to novices in the context of a "collection performed on two distinct groups of students who learned of items" arranged as a data sequence, such as a list. according to one approach at most. Interestingly, similar difficulties with respect to abstraction were found in both However, since the ADT approach aims at teaching novices how to use black boxes (without referring to their study populations: ƒ algorithmic implementation), it enables one to present A correlation was found between students' tendencies to relate to unnecessary implementation details and their several ADTs during a short period of time. As a result, the ADT approach focuses on a system-level view of software difficulties in obtaining a correct solution to a given artifacts, whereas the POI approach emphasizes algorithmic problem. ƒ Students had difficulties in moving between abstraction aspects of implementing "small units", each of which relates to an algorithmic problem. At first, algorithmic development levels during a problem-solving process. ƒ is emphasized rather than manipulation of various data Students failed to determine correct links between different components of a solution and to construct the full structures. However, later on, when more advanced topics are learned, the previously learned algorithms may be solution from its parts. utilized when new black boxes are constructed from scratch These difficulties are apparently associated with the cognitive load imposed on novices when solving problems to manipulate compound data types. Creating black boxes

from scratch implies that students focus on efficient and especially when dealing with several levels of abstraction. elegant implementation of ADT-methods while writing II. Implication on Instruction detailed algorithms. In this sense, the two approaches complement each other. Although the body of knowledge representing computer (c) Problem-solving processes: Both approaches deal with science is actually an integrated whole, the students learn different abstraction levels and transitions between them concepts, principles, and problem solving tools by necessity, when developing a solution to a problem. in separate courses. Differentiating between learning distinct study-modules might cause undesirable outcomes such as

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference F1C-11 Session F1C "an impoverished of concepts and an inability REFERENCES to use them on demand" [2]. Since curricula are designed [1] Astrachan, O.L. (1997). A Computer Science Tapestry. 2nd ed., hierarchically, the instructional design needs to support McGraw-Hill, New York. linking among modules, contents, and contexts of the presented subject matter. Each new module familiarizes [2] Atman, C., J. Turns and F. Mannering (1999). Integrating knowledge across the engineering curriculum, Proceedings of FIE 1999, San students with problem-solving tools; in order to benefit from Juan, PR. Session 13b7. 20-25. previously learned tools, students should be guided towards [3] Bassok, M. (2003). Analogical transfer in problem solving. In understanding which tools to select for which purpose, and Davidson, J.E. and Sternberg, R.J. (Eds.), The psychology of problem how to use the different tools correctly and efficiently. solving. Cambridge University Press. Proper linking between the modules can significantly [4] Bucci, P., Long, T.J., and Weide, B.W. (2001). Do we really teach enhance those abstraction skills. Accordingly, instructors abstraction? Proceedings of SIGCSE 2001, 26-30. should be aware of the characteristics of the approaches according to which different modules are taught, and to [5] Dale, N., and Walker, H.M., Abstract Data Types –specifications, implementations, and applications. D.C. Heath and Company, 1996. differences and similarities between them. Collaboration between instructors who teach different modules is needed [6] Haberman, B., Shapiro, E., and Scherz, Z. (2002). Are black boxes transparent? – High school students’ strategies of using abstract data in order to obtain an integrative and coherent view of types. Journal of Educational Research, 27(4), 411-436. teaching abstraction, as well as to foster the development of students' abstraction and generalization skills. [7] Haberman, B. (2004). High-school students' attitudes regarding procedural abstraction. Education and Information Technologies, 9(2), Another implication for instruction involves instructors' 131-145. awareness of students' difficulties with abstraction processes at each stage of learning. The instructors should identify the [8] Haberman, B. and Scherz, Z. (2005). Evolving boxes as flexible tools for teaching high-school students declarative and procedural "weak links" and the "missing links" in the students' aspects of logic programming Lecture Notes in Computer Science, problem-solving strategies, such as the ones presented here. Springer-Verlag GmbH 156-165 Coaching the students in organizing their programs [9] Hazzan, O. and Kramer, J. (2006). Abstraction in computer science & hierarchically and modularly may help reduce the cognitive software engineering: A pedagogical perspective. load imposed upon them when they are required to develop a http://edu.technion.ac.il/Faculty/OritH/HomePage/FrontierColumns/O large-scale program. Moreover, in order to foster integrative ritHazzan_SystemDesigFrontier_Column5.pdf [Accessed October 15, knowledge, students need to continue, at each stage of 2007] learning, to practice and meaningfully utilize the tools and [10] Holyoak, K.J. and Koh, K. (1987). Surface and structural similarity in the methods that they have previously acquired. Reflection analogical transfer. Memory & , 15(4), 332-340 on problem solving processes, such as moving between [11] Machanick, P. (1998). The abstraction-first approach to data abstraction layers, may be highly beneficial. abstraction and algorithms. Computers & Education, 31, 135-150. III. Summary [12] Marshall, S.P. (1995). Schemas in problem solving. New York: Cambridge University Press. The conceptual models and research tools that were [13] Muller, O. (2007) The effect of pattern-oriented instruction in developed in the two studies were found insightful in computer-science on algorithmic problem-solving skills. Unpublished analyzing students' problem-solving behavior, especially doctoral dissertation, Tel Aviv University, Israel. (in Hebrew) with regard to their abstraction skills. Since the conceptual [14] Muller, O. and Haberman, B. (2007). Supporting Abstraction models follow and describe experts' skills (specifically, the Processes in Problem-Solving through Pattern-Oriented-Instruction. ability to move between abstraction levels), these Submitted for publication. conceptualizations and terminology are useful in analyzing [15] Ye, N., & Salvendy, G. (1996). Expert-novice knowledge of computer students' difficulties and in evaluating their progress. programming at different levels of abstraction. Ergonomics, 39(3), Further studies could be conducted with regard to 461-481. elucidating the relationships between the approaches. AUTHOR INFORMATION Specifically, since algorithmic problem solving is learned before ADTs, it is worthwhile to examine how the positive Bruria Haberman, Lecturer, Computer Science Department, Holon effects of the POI approach on students' abstraction skills Institute of Technology, and Head of the CS, Academia & Industry program could be directed and could serve to reduce students' for talented high-school students, the Davidson Institute of Science Education at the Weizmann Institute, Rehovot, Israel, difficulties with ADTs. A special subject for further inquiry [email protected] may be to examine the use of algorithmic patterns as chunks ("cognitive black boxes") to assist students in using Orna Muller, Member of the Computer Science Group, Science Education Department, School of Education, Tel-Aviv University, and Lecturer, programming black boxes without knowing their Software Engineering Department, Ort Braude College of Engineering, implementation details. Karmiel, Israel, [email protected]

978-1-4244-1970-8/08/$25.00 ©2008 IEEE October 22 – 25, 2008, Saratoga Springs, NY 38th ASEE/IEEE Frontiers in Education Conference F1C-12