1,278 research outputs found

    Instructional strategies and tactics for the design of introductory computer programming courses in high school

    Get PDF
    This article offers an examination of instructional strategies and tactics for the design of introductory computer programming courses in high school. We distinguish the Expert, Spiral and Reading approach as groups of instructional strategies that mainly differ in their general design plan to control students' processing load. In order, they emphasize topdown program design, incremental learning, and program modification and amplification. In contrast, tactics are specific design plans that prescribe methods to reach desired learning outcomes under given circumstances. Based on ACT* (Anderson, 1983) and relevant research, we distinguish between declarative and procedural instruction and present six tactics which can be used both to design courses and to evaluate strategies. Three tactics for declarative instruction involve concrete computer models, programming plans and design diagrams; three tactics for procedural instruction involve worked-out examples, practice of basic cognitive skills and task variation. In our evaluation of groups of instructional strategies, the Reading approach has been found to be superior to the Expert and Spiral approaches

    Using a problem analysis model to enhance student learning in computer programming

    Get PDF
    Research on computer programming suggests that novice programmers possess inert knowledge when trying to solve programming problems. Moreover, research on teaching and learning computer programming indicates that offering appropriate conceptual models of computer programming concepts to novice programmers enhances their mental models and reduces their misconceptions in computer programming. The purpose of this study was to examine the effectiveness of a problem analysis learning model of computer programming to help novice programmers overcome their inert knowledge and learn a programming language;The problem analysis learning model combines a conceptual model and a holistic instructional approach for computer programming instruction. The conceptual component of the problem analysis model includes several computer simulations of database concepts. The purpose of the conceptual component of the problem analysis model is to offer students an opportunity to manipulate data in the computer simulations before formal instruction in order to help them construct their own knowledge of basic database concepts. The purpose of the holistic component of the problem analysis learning model is to help students integrate their programming knowledge to solve database problems. The holistic approach includes a four-step process that consists of problem introduction, problem diagnosis, learning activities, and database assignments;This study involved 100 inservice teachers enrolled in a basic computer programming workshop at The Institute for Secondary Schools Teachers in Taiwan (ISST). The teachers were randomly assigned to one of the two workshops conducted in this study (43 teachers in the control group and 53 teachers in the experimental group). Each workshop consisted of 36 hours of instruction over five days. Three subjects were taught in each workshop: basic computer concepts (BCC), Chinese word processing, and database activities;The results indicated that the problem analysis learning model helped the participants develop more complete mental models of basic database concepts. Moreover, the participants in the problem analysis learning model developed better database programming skills than those in the traditional computer programming workshop;The results of this study may provide a useful conceptual framework for the design of a computer programming course for teachers. Due to the results of this study, computer practitioners/teachers may re-organize their instructional methods used with existing content materials to enhance student learning in computer programming. Future researchers may use the problem analysis model as a foundation to explore learning in other subjects. Moreover, researchers could examine parts of this model in greater detail to identify specific items or procedures that contribute to student learning. Finally, this research study also provides a workshop structure to help inservice teachers increase their computing proficiency, and it may assist institutions in organizing their training programs

    Approach to Develop a Concept Inventory Informing Teachers of Novice Programmers' Mental Models

    Get PDF

    Debugging: The Key to Unlocking the Mind of a Novice Programmer?

    Get PDF
    Novice programmers must master two skills to show lasting success: writing code and, when that fails, the ability to debug it. Instructors spend much time teaching the details of writing code but debugging gets significantly less attention. But what if teaching debugging could implicitly teach other aspects of coding better than teaching a language teaching debugging? This paper explores a new theoretical framework, the Theory of Applied Mind for Programming (TAMP), which merges dual process theory with Jerome Bruner’s theory of representations to model the mind of a programmer. TAMP looks to provide greater explanatory power in why novices struggle and suggest pedagogy to bridge gaps in learning. This paper will provide an example of this by reinterpreting debugging literature using TAMP as a theoretical guide. Incorporating new view theoretical viewpoints from old studies suggests a “debugging-first” pedagogy can supplement existing methods of teaching programming and perhaps fill some of the mental gaps TAMP suggests hamper novice programmers

    Applications of artificial intelligence within education

    Get PDF
    AbstractComputers have been employed within the field of education for many years, often with disappointing results. However, recent and current research within the field of artificial intelligence (AI) is having a positive impact on educational applications. For example, there now exist ICAI (intelligent computer-assisted instruction) systems to teach or tutor many different subjects; several such systems are discussed herein. In addition to CAI (computer-assisted instruction) systems, we discuss the development of learning environments that are designed to facilitate student-initiated learning. A third major application is the use of expert systems to assist with educational diagnosis and assessment. During the course of our discussion of these three major application areas, we indicate where AI has already played a major role in the development of such systems and where further research is required in order to overcome current limitations
    • …
    corecore