3,013 research outputs found

    Developing Applications to Automatically Grade Introductory Visual Basic Courses

    Get PDF
    There are many unique challenges associated with introductory programming courses. For novice programmers, the challenges of their first programming class can lead to a great deal of stress and frustration. Regular programming assignments is often key to developing an understanding of best practices and the coding process. Students need practice with these new concepts to reinforce the underlying principles. Providing timely and consistent feedback on these assignments can be a challenge for instructors, particularly in large classes. Plagiarism is also a concern. Unfortunately traditional tools are not well suited to introductory courses. This paper describes how AppGrader, a static code assessment tool can be used to address the challenges of an introductory programming class. The tool assesses student’s understanding and application of programming fundaments as defined in the current ACM/IEEE Information Technology Curriculum Guidelines. Results from a bench test and directions for future research are provided

    Collaboration Versus Cheating

    Full text link
    We outline how we detected programming plagiarism in an introductory online course for a master's of science in computer science program, how we achieved a statistically significant reduction in programming plagiarism by combining a clear explanation of university and class policy on academic honesty reinforced with a short but formal assessment, and how we evaluated plagiarism rates before SIGand after implementing our policy and assessment.Comment: 7 pages, 1 figure, 5 tables, SIGCSE 201

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    Choosing Code Segments to Exclude from Code Similarity Detection

    Get PDF
    When student programs are compared for similarity as a step in the detection of academic misconduct, certain segments of code are always sure to be similar but are no cause for suspicion. Some of these segments are boilerplate code (e.g. public static void main String [] args) and some will be code that was provided to students as part of the assessment specification. This working group explores these and other types of code that are legitimately common in student assessments and can therefore be excluded from similarity checking. From their own institutions, working group members collected assessment submissions that together encompass a wide variety of assessment tasks in a wide variety of programming languages. The submissions were analysed to determine what sorts of code segment arose frequently in each assessment task. The group has found that common code can arise in programming assessment tasks when it is required for compilation purposes; when it reflects an intuitive way to undertake part or all of the task in question; when it can be legitimately copied from external sources; and when it has been suggested by people with whom many of the students have been in contact. A further finding is that the nature and size of the common code fragments vary with course level and with task complexity. An informal survey of programming educators confirms the group's findings and gives some reasons why various educators include code when setting programming assignments.Peer reviewe

    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 Initial Analysis of the Contextual Information Available within Auction Posts on Contract Cheating Agency Websites

    Get PDF
    The advantages of using contextual information in order to detect contract cheating attempts by students have not yet been fully explored in the academic literature. Contract cheating occurs when a student uses a third party to produce assessed work for them. This paper focuses on contract cheating using agency websites, where an auction type process is used by students to select a contractor to have the assessed work produced for them, often at a financially advantageous price. Currently, the process of finding contract cheating on agency sites is manually intensive, with a detective required to investigate and attribute each cheating attempt. This paper aims to formally identify the context internally and externally available for contract cheating posts on an agency website. The paper is offered as a starting point for academics interested in producing an automated intelligent contextually-aware tool to detect contract cheating

    Computer-based assessment system for e-learning applied to programming education

    Get PDF
    Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 201

    Effects of Plagiarism in Introductory Programming Courses on the Learning Outcomes

    Full text link
    [EN] We compare two introductory programming courses and the accompanying programming assignments with respect to the learning outcomes and the relation to plagiarism. While in the first course the solutions from the students of their programming assignments are checked directly with a plagiarism detection system to prevent students from plagiarizing, plagiarism is not tracked in the second course. Running a post check against plagiarism after the course reveals a significant higher plagiarism rate with several exact copies. As the number of students handing in copies from fellow students increases, the failure rate in the final examination also rises. Analyzing the data does not only reveal a correlation between plagiarizing and inferior examination results, but also shows, that students confronted with a plagiarism detection system have better skills in fundamental coding concepts. We suppose this might be a result of the fact, that the implementation of a plagiarism detection system does not deter so many students from plagiarizing, but students are strongly motivated to run more modifications on their plagiarisms in order not to be caught.Pawelczak, D. (2019). Effects of Plagiarism in Introductory Programming Courses on the Learning Outcomes. En HEAD'19. 5th International Conference on Higher Education Advances. Editorial Universitat Politècnica de València. 623-631. https://doi.org/10.4995/HEAD19.2019.9297OCS62363

    "It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers

    Full text link
    Recent developments in deep learning have resulted in code-generation models that produce source code from natural language and code-based prompts with high accuracy. This is likely to have profound effects in the classroom, where novices learning to code can now use free tools to automatically suggest solutions to programming exercises and assignments. However, little is currently known about how novices interact with these tools in practice. We present the first study that observes students at the introductory level using one such code auto-generating tool, Github Copilot, on a typical introductory programming (CS1) assignment. Through observations and interviews we explore student perceptions of the benefits and pitfalls of this technology for learning, present new observed interaction patterns, and discuss cognitive and metacognitive difficulties faced by students. We consider design implications of these findings, specifically in terms of how tools like Copilot can better support and scaffold the novice programming experience.Comment: 26 pages, 2 figures, TOCH
    corecore