88 research outputs found

    Visual and Textual Programming Languages: A Systematic Review of the Literature

    Get PDF
    It is well documented, and has been the topic of much research, that Computer Science courses tend to have higher than average drop out rates at third level. This is a problem that needs to be addressed with urgency but also caution. The required number of Computer Science graduates is growing every year but the number of graduates is not meeting this demand and one way that this problem can be alleviated is to encourage students at an early age towards studying Computer Science courses. This paper presents a systematic literature review on the role of visual and textual programming languages when learning to program, particularly as a first programming language. The approach is systematic, in that a structured search of electronic resources has been conducted, and the results are presented and quantitatively analysed. This study will give insight into whether or not the current approaches to teaching young learners programming are viable, and examines what we can do to increase the interest and retention of these students as they progress through their education.Comment: 18 pages (including 2 bibliography pages), 3 figure

    Beacons and Novice Programming Comprehension

    Get PDF
    Computer Science courses at tertiary level have one of the highest drop-out rates internationally. One of the main issues for this high attrition rate is often seen as CS1, the first Computer Science module usually encountered by students, which has a strong emphasis on computer programming. In order to aid students in the steep learning curve associated with programming, many different techniques have been utilised, to a varied degree of success. This paper aims to discover if particular lines of programming code exist that can help readers easily identify its functionality - referred to as a “beacon”. In a program containing a sort function, for example, advanced programmers might observe the swap code inside a loop and comprehend that it is a sorting algorithm, and therefore a beacon, without much further examination. This paper details the first phase of a study examining the presence of beacons in CS1 standard Java code using eye-tracking technology. In particular this paper will focus on the collection of data from non-novice programmers to determine whether or not beacons can be detected. Participants in this study were presented with basic Java programs and were asked to determine, from a list of possible options, what output was correct. Data was collected using an eye-tracking devices during a phase of experimentation and this data was subsequently analysed. From the analysis we were able to detect some beacons did exist in the code. In the future, some method of displaying these beacons could potentially be implemented as a form of intervention to aid students within the initial stages of learning a programming language

    Beacons and Novice Programming Comprehension

    Get PDF
    Computer Science courses at tertiary level have one of the highest drop-out rates internationally. One of the main issues for this high attrition rate is often seen as CS1, the first Computer Science module usually encountered by students, which has a strong emphasis on computer programming. In order to aid students in the steep learning curve associated with programming, many different techniques have been utilised, to a varied degree of success. This paper aims to discover if particular lines of programming code exist that can help readers easily identify its functionality - referred to as a “beacon”. In a program containing a sort function, for example, advanced programmers might observe the swap code inside a loop and comprehend that it is a sorting algorithm, and therefore a beacon, without much further examination. This paper details the first phase of a study examining the presence of beacons in CS1 standard Java code using eye-tracking technology. In particular this paper will focus on the collection of data from non-novice programmers to determine whether or not beacons can be detected. Participants in this study were presented with basic Java programs and were asked to determine, from a list of possible options, what output was correct. Data was collected using an eye-tracking devices during a phase of experimentation and this data was subsequently analysed. From the analysis we were able to detect some beacons did exist in the code. In the future, some method of displaying these beacons could potentially be implemented as a form of intervention to aid students within the initial stages of learning a programming language

    Creation of a Hybrid Programming Language

    Get PDF
    BOOK OF ABSTRACTS EdTech 2019: The Digital Transformation of Irish Higher and Further Education –Real or Imagined? This presentation will look at the creation of a hybrid computer programming language combining the power of the traditional textual Java language with the visual features of the Snap! language. Textual programming languages (such as Java, Python and C++) are the main languages taught in Computer Science courses at third level, while visual programming languages (such as Scratch and Alice) are more prominently used in the education of younger students, mainly those students under sixteen. Some visual languages (such as ScratchJr and Snap!) have a reach to children as young as five. It has been well documented that there exists a gap in the education of students in their mid- to late-teenage years where perhaps visual languages are no longer suitable and textual languages may involve too steep of a learning curve

    An Investigation of the Role Programming Support Services Have for Mature Students

    Get PDF
    [ES] Programming support services for introductory programmers have seen a rise in popularity in recent years with third level institutions around the world providing “safe spaces” for students to practice their programming skills and get supports without the risk of being judged by anyone. These services appear in many different structures including Support Centres, Software Studios and help desks. The common trend however is that all the users of these services, in general, report that the service has helped them in their studies and garnered them with more confidence in their ability. This paper examines the role which our Computer Science Centre played for students who attended the support service during an intensive higher diploma course. The intensive course is a 3-week course tailored to students who have previously completed a degree in a field not related to CS, and covers CS1 and CS2 material. The structure and design of the support service is outlined in this paper along with the supports offered. A high-level survey was conducted to investigate the effect of the service on students programming self-efficacy. Study design and methodology are described in detail. Early findings suggest that the support services offered to these students improved their belief in their own programming ability which in turn improved their exam grade outcome. The findings provide valuable evidence to justify future research into the functions of support services with the computer science domain.Nolan, K.; Thompson, A.; Noone, M.; Mooney, A. (2020). An Investigation of the Role Programming Support Services Have for Mature Students. En 6th International Conference on Higher Education Advances (HEAd'20). Editorial Universitat Politècnica de València. (30-05-2020):625-633. https://doi.org/10.4995/HEAd20.2020.11118OCS62563330-05-202

    Considerations when using an Automatic Grading System within Computer Science Modules

    Get PDF
    [EN] This paper aims to investigate the effectiveness of automatic grading systems, with a focus on their uses within Computer Science. Automatic grading systems have seen a rise in popularity in recent years with publications concerning automatic grading systems usually linked to a specific system. This paper will discuss the factors that need to be considered when using automatic grading, regardless of which system is being used, and will make recommendations for each factor. This discussion is based on the authors' experience of using an automatic grading system in a CS1 environment. From the research conducted, many elements should be considered when using these systems. These include how the code will be tested, the need for plagiarism checks and how marks are awarded. The findings of this study suggest there is a lack of defined standards when using these systems. This analysis of the considerations provides valuable insight into how these systems should be used and what the standards should be built on.Thompson, A.; Mooney, A.; Noone, M.; Hegarty-Kelly, E. (2021). Considerations when using an Automatic Grading System within Computer Science Modules. En 7th International Conference on Higher Education Advances (HEAd'21). Editorial Universitat Politècnica de València. 589-597. https://doi.org/10.4995/HEAd21.2021.13045OCS58959

    An Overview of the Redevelopment of a Computer Science Support Centre and the Associated Pedagogy Impacts

    Get PDF
    "Support Centres” are a form of intervention, particularly prevalent in Ireland and the UK through which undergraduate students interact with one or more tutors who help them with their studies. They primarily exist in the Mathematics and Computer Science fields. These centres tend to be remedial, in general aiming to improve the knowledge of struggling students, while also offering additional material to students looking for more of a challenge. The Computer Science Centre at Maynooth University is a drop-in tutoring service which provides free tutoring to students, primarily of programming modules, in the first and second year of their degree. This service has been running in our Computer Science department since 2012. In the 2019-2020 academic year, two full time tutors were hired to refocus and improve the centre. This resulted in the creation of a redevelopment plan and relaunch of the centre, which will be presented in this paper. The results of this redevelopment were very promising with the attendance of the centre increasing by over 800% compared to the 2018-2019 academic year. The students who did attend the centre also performed better on average than those students who did not attend the centre in their first-year undergraduate programming modules. An analysis of data relating to students visits to the centre will be presented and discussed. This paper discusses in detail the redevelopment within the centre and the work carried out by these tutors in their first year, while also presenting future plans for the centre. Guidelines are presented on managing an effective support centre (through our redevelopment plan and support methods), with the hope that more institutions in both Ireland and abroad will consider supporting their students with this methodology

    Hybrid Java: The creation of a Hybrid Programming Environment

    Get PDF
    This article details the creation of a hybrid computer programming environment combining the power of the text-based Java language with the visual features of the Snap! language. It has been well documented that there exists a gap in the education of computing students in their mid-to-late teenage years, where perhaps visual programming languages are no longer suitable and textual programming languages may involve too steep of a learning curve. There is an increasing need for programming environments that combine the benefits of both languages into one. Snap! is a visual programming language which employs "blocks" to allow users to build programs, similar to the functionality offered by Scratch. One added benefit of Snap! is that it offers the ability to create one’s own blocks and extend the functionality of those blocks to create more complex and powerful programs. This will be utilised to create the Hybrid Java environment. The development of this tool will be detailed in the article, along with the motivation and use cases for it. Initial testing conducted will be discussed including one phase that gathered feedback from a pool of 174 first year Computer Science students. These participants were given instructions to work with the hybrid programming language and evaluate their experience of using it. The analysis of the findings along with future improvements to the language will also be presented

    Assessing the value of orphan drugs using conventional cost-effectiveness analysis:Is it fit for purpose?

    Get PDF
    Conventional cost-effectiveness analysis-i.e., assessing pharmaceuticals through a cost per quality-adjusted life year (QALY) framework-originated from a societal commitment to maximize population health given limited resources. This "extra-welfarist" approach has produced pricing and reimbursement systems that are not well- aligned with the unique considerations of orphan drugs. This framework has been slow to evolve along with our increased understanding of the impact of rare diseases, which in turn has complicated the assessment of orphan drugs meant to treat rare diseases. Herein, we (i) discuss the limitations of conventional cost-effectiveness analysis as applied to assessing access to, as well as the pricing and reimbursement of, orphan drugs, (ii) critically appraise alternative and supplemental approaches, and (iii) offer insights on plausible steps forward
    corecore