18,231 research outputs found

    An In-Depth Look at Learning Computer Language Syntax in a High-Repetition Practice Environment

    Get PDF
    Students in an introductory computer science course generally have difficulty producing code that follows the arrangement rules known as syntax. Phanon was created to help students practice writing correct code that follows the rules of syntax. Previous research suggests this tool has helped students improve their exam scores and strengthen effectiveness in the course. A study was conducted to observe students while they complete the syntax exercises to find meaningful patterns in the steps the students take to complete an exercise. Evidence to support high intrinsic load was found throughout the study, which is a measure of difficulty learning a subject. The syntax exercise design’s ineffectiveness, known as the extraneous cognitive load, was minimal throughout the study. It was also found that even if students seem to take longer completing the syntax exercises, it does not reflect a decrease in their performance for the class. This supports a theory that syntax is a separate process from problem-solving and mastering it can help students focus their cognitive process on problem-solving. Finding ordinary moments of comprehension or struggle can provide insight into how improvements can be made in Phanon and computer science teaching methods. The effectiveness of Phanon can be applied to students with a variety of programming experience

    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

    Position Paper: Lack of Keyboard Support Cripples Block-Based Programming

    Get PDF
    Block-based programming is very popular with beginners, but it has failed to gain traction among intermediate and expert programmers. The mouse-centric interfaces typically found in block-based programming environments make edit interactions (especially in large programs) tedious and awkward. We propose that adding keyboard support is a key step to extending the applicability of block-based programming ideas and would allow their use by intermediate and expert programmers, extending some of their benefits to new user groups. We describe an implementation of this idea, `frame-based programming', which leads to a number of benefits in error avoidance and edit efficiency

    Emergent requirements for supporting introductory programming

    Get PDF
    The problems associated with learning and teaching first year University Computer Science (CS1) programming classes are summarized showing that various support tools and techniques have been developed and evaluated. From this review of applicable support the paper derives ten requirements that a support tool should have in order to improve CS1 student success rate with respect to learning and understanding

    Frame-Based Editing: Easing the Transition from Blocks to Text-Based Programming

    Get PDF
    Block-based programming systems, such as Scratch or Alice, are the most popular environments for introducing young children to programming. However, mastery of text-based programming continues to be the educational goal for stu- dents who continue to program into their teenage years and beyond. Transitioning across the significant gap between the two editing styles presents a difficult challenge in school- level teaching of programming. We propose a new style of program manipulation to bridge the gap: frame-based edit- ing. Frame-based editing has the resistance to errors and approachability of block-based programming while retaining the flexibility and more conventional programming seman- tics of text-based programming languages. In this paper, we analyse the issues involved in the transition from blocks to text and argue that they can be overcome by using frame- based editing as an intermediate step. A design and imple- mentation of a frame-based editor is provided

    Code Park: A New 3D Code Visualization Tool

    Full text link
    We introduce Code Park, a novel tool for visualizing codebases in a 3D game-like environment. Code Park aims to improve a programmer's understanding of an existing codebase in a manner that is both engaging and intuitive, appealing to novice users such as students. It achieves these goals by laying out the codebase in a 3D park-like environment. Each class in the codebase is represented as a 3D room-like structure. Constituent parts of the class (variable, member functions, etc.) are laid out on the walls, resembling a syntax-aware "wallpaper". The users can interact with the codebase using an overview, and a first-person viewer mode. We conducted two user studies to evaluate Code Park's usability and suitability for organizing an existing project. Our results indicate that Code Park is easy to get familiar with and significantly helps in code understanding compared to a traditional IDE. Further, the users unanimously believed that Code Park was a fun tool to work with.Comment: Accepted for publication in 2017 IEEE Working Conference on Software Visualization (VISSOFT 2017); Supplementary video: https://www.youtube.com/watch?v=LUiy1M9hUK
    corecore