5 research outputs found

    A Study of First Year Undergraduate Computing Students\u27 Experience of Learning Software Development in the Absence of a Software Development Process

    Get PDF
    Despite the ever-growing demand for software development graduates, it is recognised that a significant barrier for increasing graduate numbers lies in the inherent difficulty in learning how to develop software. This paper presents a study that is part of a larger research project aimed at addressing the gap in the provision of educational software development processes for freshman, novice undergraduate learners, to improve proficiency levels. As a means of understanding how such learners problem solve in software development in the absence of a formal process, this study examines the experiences and depth of learning acquired by a sample set of novice, freshman university learners. The study finds that without the scaffolding of an appropriate structured development process tailored to novices, students are in danger of failing to engage with the problem solving skills necessary for software development, particularly the skill of designing solutions prior to coding

    Using the SOLO Taxonomy to Understand Subgoal Labels Effect in CS1

    Get PDF
    is work extends previous research on subgoal labeled instructions by examining their effect across a semester-long, Java-based CS1 course. Across four quizzes, students were asked to explain in plain English the process that they would use to solve a programming problem. In this mixed methods study, we used the SOLO taxonomy to categorize student responses about problem-solving processes and compare students who learned with subgoal labels to those who did not. e use of the SOLO taxonomy classification allows us to look deeper than the mere correctness of answers to focus on the quality of the answers produced in terms of completeness of relevant concepts and explanation of relationships among concepts. Students who learned with subgoals produced higher-rated answers in terms of complexity and quality on three of four quizzes. Also, they were three times more likely to discuss issues of data type on a question about assignments and expressions than students who did not learn with subgoal labeling. is suggests that the use of subgoal labeling enabled students to gain a deeper and more complex understanding of the material presented in the course

    A study of code design skills in novice programmers using the SOLO taxonomy

    No full text
    12th International Computing Education Research ConferenceThere is a wealth of literature dealing with the difficulties of novice programmers with basic programming constructs such as variables, assignment and conditionals. In this paper we extend the study to two other core CS1 topics: loops and vectors (represented as single dimensional arrays). By the end of their first semester of instruction, students are expected to have acquired both the ability to reproduce given syntactic structure and basic design skills that allow them to write small pieces of code that extend, modify or combine in new ways the basic programming constructs.This work presents an evaluation framework that uses the SOLO taxonomy to assess programming questions' complexity. Our framework extends SOLO by using the term "building block" as an adaptable parameter that explicitly defines the student's ability to increasingly write more complex pieces of code. The granularity of a "building block" is determined by the amount of programming practice students have carried out up to that point. The analysis of final exam answers using this framework allows us to quantify the progress made by one cohort of novice programmers in the mastery of basic design skills and to study correlations between mastery of these skills and overall course performance. Furthermore, we identify common errors that illustrate the challenges students face when trying to combine programming constructs in non-trivial ways.Cruz Izu, Amali Weerasinghe, Cheryl Pop

    Development and Application of a Rasch Model Measure of Student Competency in University Introductory Computer Programming

    Get PDF
    University computer programming instruction nomenclature commonly uses the term Computer Science 1 (CS1) to describe introductory units of study. Success in CS1 is important as a pre-requisite for further study in programming and related disciplines. It is important to measure student progress and the antecedent influences. This study applied the Rasch Model and Messick’s Unified Theory of Validity to construct an interval level measure of CS1 competency with demonstrable suitability for this purpose

    The Design and Evaluation of an Educational Software Development Process for First Year Computing Undergraduates

    Get PDF
    First year, undergraduate computing students experience a series of well-known challenges when learning how to design and develop software solutions. These challenges, which include a failure to engage effectively with planning solutions prior to implementation ultimately impact upon the students’ competency and their retention beyond the first year of their studies. In the software industry, software development processes systematically guide the development of software solutions through iterations of analysis, design, implementation and testing. Industry-standard processes are, however, unsuitable for novice programmers as they require prior programming knowledge. This study investigates how a researcher-designed educational software development process could be created for novice undergraduate learners, and the impact of this process on their competence in learning how to develop software solutions. Based on an Action Research methodology that ran over three cycles, this research demonstrates how an educational software development methodology (termed FRESH) and its operationalised process (termed CADET which is a concrete implementation of the FRESH methodology), was designed and implemented as an educational tool for enhancing student engagement and competency in software development. Through CADET, students were reframed as software developers who understand the value in planning and developing software solutions, and not as programmers who prematurely try to implement solutions. While there remain opportunities to further enhance the technical sophistication of the process as it is implemented in practice, CADET enabled the software development steps of analysis and design to be explicit elements of developing software solutions, rather than their more typically implicit inclusion in introductory CS courses. The research contributes to the field of computing education by exploring the possibilities of – and by concretely generating – an appropriate scaffolded methodology and process; by illustrating the use of computational thinking and threshold concepts in software development; and by providing a novel evaluation framework (termed AKM-SOLO) to aid in the continuous improvement of educational processes and courses by measuring student learning experiences and competencies
    corecore