This dataset comprises data created during research on AI-generated code, with a focus on software engineering use-cases. The purpose of the research was to investigate how AI should be integrated into university software engineering curricula. The seven core areas of the research include: An analysis of AI and student-written Java code, an analysis of AI and human-written Python code, the results of predictions made “by eye” to distinguish between AI and student-written code, experiments to determine the capabilities of ChatGPT, individual students' feedback on experiences with ChatGPT, a set of guidelines and detailed experiences with AI tools, and the results of a survey of students regarding the use of AI tools.
The seven core areas of this research are contained in each of the seven folders, and are described below.
Analysis of AI and Student-written Code: AI chatbots (ChatGPT-4, ChatGPT-3.5, Bing Chat and Bard) were used to generate code solutions to Java programming tasks (milestone assignments) taken from the 2021 presentation of the Software Engineering 2 Bachelor's course at TH Köln. Student solutions to the same assignments were stored anonymously. The differences between the AI and human written code solutions to "milestone 0" are analysed, and a simple classification model was trained to distinguish between AI and human written code. For the analysis, two approaches are compared: representing the code using manually defined features, and by OpenAI's text embedding vectors.
AI or Student-written Code Predictions: In order to determine how effectively AI-written code can be detected "by eye", a mixed set of AI- and human-written code solutions to the "Software Engineering 2" 2021 milestone 0 assignment was anonymised and given to two faculty members, who made predictions as to whether each solution was written by either a student or AI chatbot.
Analysis of AI and Human-written Python Code: ChatGPT was used to generate Python code solutions to the HumanEval problem set. The differences between the AI and human-written canonical code solutions are analysed, and a model is trained to distinguish between the two classes. The feature and embedding representation approaches are compared.
ChatGPT Capabilities Experiment: An evaluation of the capabilities of ChatGPT at completing software engineering university course assignments. By prompting ChatGPT-4 with only the original task description and provided document comments, purely AI-written code was generated as the solution to the "Software Engineering 2" 2023 assignment, comprising of the creation of a complex eCommerce system.
Student Experiences with ChatGPT: Feedback from two students on their experiences with using ChatGPT during their software engineering studies. Each use-case is evaluated, and the conversation with ChatGPT is provided.
AI Tools Experiences and Guidelines: Our experiences with generating code using different chatbots, an evaluation of their strengths and weaknesses, and a set of guidelines for using AI tools to write code.
Student Survey: The results from a survey distributed to university students. Questions relate to general AI tool use, AI use within education, and AI use specifically for coding and software engineering.