Academic journal article Journal of Interactive Learning Research

A Case Study in an Integrated Development and Problem Solving Environment

Academic journal article Journal of Interactive Learning Research

A Case Study in an Integrated Development and Problem Solving Environment

Article excerpt

This article describes an integrated problem solving and program development environment, illustrating the application of the system with a detailed case study of a small-scale programming problem. The system, which is based on an explicit cognitive model, is intended to guide the novice programmer through the stages of problem solving and program development, from problem formulation, planning, and design, to testing and delivery. Students learn problem solving and the elements of software engineering because of the way in which both methodologies are explicitly embedded in the system. The case study illustrates how systemic, cognitively-based dialogs facilitate the problem solving and program development tasks, while the overall architecture of the system continually re-enforces an understanding of software engineering methodology. An initial version of the system has been integrated into an introductory course on computing, and evaluated in terms of its effect on student learning.

**********

A primary motivation behind developing educational computing systems is to improve students' ability to learn independently. Beginning students face several challenges when learning programming: (a) deficiencies in problem solving strategies and tactical knowledge; (b) misconceptions about syntax, semantics, and pragmatics of language constructs; and (c) ineffective pedagogy of programming instruction. Tools and environments have already been created and implemented that assist independent learning in the domain of programming. However, after a comprehensive review of computer-based systems for learning programming, Deek and McHugh (1998) concluded that such environments devote a disproportionate amount of attention to syntax-related activities, leaving the preliminary tasks of problem definition, requirements, and specifications insufficiently addressed.

Deek and McHugh (1998) identified four categories of systems or tools developed to help students learn programming: (a) programming environments, (b) debugging aids, (c) intelligent tutoring systems, and (d) intelligent programming environments. They further contended that these systems are limited in two basic respects, functionality and practicality. Functionally, most of these systems do not provide problem solving/software engineering frameworks, and lack facilities to assist students in performing problem formulation, planning, design, and testing of solutions. There is an emphasis on implementation aspects of software development, resulting in an overemphasis on language syntax. Also, classroom experience indicates that the complex interfaces of these systems frustrate students. Intelligent systems are either rule or knowledge-based and so are inherently "incomplete," as it is impossible to assume that all rules or knowledge regarding a particular problem situation are represented. Their problem domains are correspondingly simple since for the intelligent tools to behave as experts, they must anticipate all options and require the use of simple examples. Basically, the intelligent tools impose constraints on the structure of a student's program to assure that a certain solution is found, thus impeding students' creativity and their development of cognitive skills.

Practically, there are few reports on the evaluation of tools or their integration into the classroom. This leaves important questions open: Are the tools' characteristics driven by actual classroom needs? What are the effects of these systems on students? An attempt to answer these questions is handicapped because many of these systems remain prototypes. The effectiveness of these tools and environments has yet to be ascertained because of limited classroom evaluation, while the absence of such significant evaluation stymies their integration in the classroom. There have been reports on positive evaluation of such environments (Guzdial, Hohmann, Konneman, Walton, & Soloway, 1998; Deek, 1997), but given the difficulties that students experience with programming, it is fair to conclude that the teaching and learning of programming would profit from continued investigation, application, and evaluation of new approaches and new tools. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed

Oops!

An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.