6,126 research outputs found

    Four approaches to teaching programming

    No full text
    Based on a survey of literature, four different approaches to teaching introductory programming are identified and described. Examples of the practice of each approach are identified representing procedural, visual, and object-oriented programming language paradigms. Each approach is then further analysed, identifying advantages and disadvantages for the student and the teacher. The first approach, code analysis, is analogous to reading before writing, that is, recognising the parts and what they mean. It requires learners to analyse and understand existing code prior to producing their own. An alternative is the building blocks approach, analogous to learning vocabulary, nouns and verbs, before constructing sentences. A third approach is identified as simple units in which learners master solutions to small problems before applying the learned logic to more complex problems. The final approach, full systems, is analogous to learning a foreign language by immersion whereby learners design a solution to a non-trivial problem and the programming concepts and language constructs are introduced only when the solution to the problem requires their application. The conclusion asserts that competency in programming cannot be achieved without mastering each of the approaches, at least to some extent. Use of the approaches in combination could provide novice programmers with the opportunities to acquire a full range of knowledge, understanding, and skills. Several orders for presenting the approaches in the classroom are proposed and analysed reflecting the needs of the learners and teachers. Further research is needed to better understand these and other approaches to teaching programming, not in terms of learner outcomes, but in terms of teachers’ actions and techniques employed to facilitate the construction of new knowledge by the learners. Effective classroom teaching practices could be informed by further investigations into the effect on progression of different toolset choices and combinations of teaching approache

    Hypermedia learning and prior knowledge: Domain expertise vs. system expertise

    Get PDF
    Prior knowledge is often argued to be an important determinant in hypermedia learning, and may be thought of as including two important elements: domain expertise and system expertise. However, there has been a lack of research considering these issues together. In an attempt to address this shortcoming, this paper presents a study that examines how domain expertise and system expertise influence students’ learning performance in, and perceptions of, a hypermedia system. The results indicate that participants with lower domain knowledge show a greater improvement in their learning performance than those with higher domain knowledge. Furthermore, those who enjoy using the Web more are likely to have positive perceptions of non-linear interaction. Discussions on how to accommodate the different needs of students with varying levels of prior knowledge are provided based on the results

    A serious game for programming in higher education

    Get PDF
    Programming is a highly difficult skill which is a constituent of many undergraduate programmes at Higher Education (HE) level. With the advancement of games technology there is an increasing opportunity for educators to provide innovative assessment tools for students on their courses which are highly immersive and graphically indicative of the times. This could potentially be in a supplementary capacity or to a greater extent inextricably linked to the learning outcomes and assessment outcomes. Notably serious games and Games-Based Learning (GBL) have received high levels of attention from educationalists due to being motivational, novel learning approaches. This paper will outline two empirical studies conducted to develop a game to teach programming at HE level. The first study will gauge the acceptability of a computer game for teaching programming and formulating content integration development requirements. The second study will outline the evaluation of the developed game being placed in a module as a formative assessment tool to assist learners to revise for their formal class test. Study one showed that acceptability of the game was high with 61 participants completing an acceptability/content integration questionnaire. The game was designed to consolidate knowledge on rudimentary and advanced programming concepts, data structures and algorithms. 48 participants evaluated the game in study two with the results generally indicating that they enjoyed playing the game as a revision alternative with 14% of participants rating it as very effective and 51% of participants as effective for allowing them to prepare for their class test. The majority of participants also believed that games could be utilised in a formative and summative assessment capacity on courses for independent study

    The Effectiveness of Aural Instructions with Visualisations in E-Learning Environments

    Get PDF
    Based on Mayer’s (2001) model for more effective learning by exploiting the brain’s dual sensory channels for information processing, this research investigates the effectiveness of using aural instructions together with visualisation in teaching the difficult concepts of data structures to novice computer science students. A small number of previous studies have examined the use of audio and visualisation in teaching and learning environments but none has explored the integration of both technologies in teaching data structures programming to reduce the cognitive load on learners’ working memory. A prototype learning tool, known as the Data Structure Learning (DSL) tool, was developed and used first in a short mini study that showed that, used together with visualisations of algorithms, aural instructions produced faster student response times than did textual instructions. This result suggested that the additional use of the auditory sensory channel did indeed reduce the cognitive load. The tool was then used in a second, longitudinal, study over two academic terms in which students studying the Data Structures module were offered the opportunity to use the DSL approach with either aural or textual instructions. Their use of the approach was recorded by the DSL system and feedback was invited at the end of every visualisation task. The collected data showed that the tool was used extensively by the students. A comparison of the students’ DSL use with their end-of-year assessment marks revealed that academically weaker students had tended to use the tool most. This suggests that less able students are keen to use any useful and available instrument to aid their understanding, especially of difficult concepts. Both the quantitative data provided by the automatic recording of DSL use and an end-of-study questionnaire showed appreciation by students of the help the tool had provided and enthusiasm for its future use and development. These findings were supported by qualitative data provided by student written feedback at the end of each task, by interviews at the end of the experiment and by interest from the lecturer in integrating use of the tool with the teaching of the module. A variety of suggestions are made for further work and development of the DSL tool. Further research using a control group and/or pre and post tests would be particularly useful

    Applying patterns to hypermedia instructional design (APHID)

    Get PDF
    This research addresses the issue of automatically generating instructional hypermedia documents (in the form of web sites). Our hypothesis is that, for certain types of hypermedia, an automated approach can produce satisfactory hypermedia applications more efficiently than humans are able to create them. We propose a method (APHID) that guides a hypermedia creator through the design process and partially automates the creation of hypermedia applications. Our method uses concept maps and instructional design patterns, as well as the more common domain and presentation models, to support partial automation for creating instructional hypermedia. Most hypermedia application developers follow basic graphical design principles, but few commonly accepted principles exist for the structuring of hypermedia applications. The design of instructional hypermedia imposes the additional requirement that the designer be expert both in hypermedia design and in instructional design. APHID supports designers through the use of patterns to describe and clarify design concepts for both instructional design and interface design. This thesis describes the design and development of the APHID approach and a prototype software tool that supports the development of instructional hypermedia using the APHID approach. The thesis also presents a study in which web sites created with APHID are compared (by an independent evaluator) to web sites created by instructional technologists. The study shows that good instructional web sites can be generated semi-automatically with less expenditure of time on the part of the instructional designer

    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
    • …
    corecore