Table of Contents
Fetching ...

Benefits and Risks of Using ChatGPT4 as a Teaching Assistant for Computer Science Students

Yaiza Aragonés-Soria, Julia Kotovich, Chitsutha Soomlek, Manuel Oriol

TL;DR

The performances of ChatGPT3.5 degrades drastically as the specialization of the domain increases: for basic algorithms it returns answers that are almost always correct, for design patterns the generated code contains many code smells and is generally of low quality, and for quantum computing it is often blatantly wrong.

Abstract

Upon release, ChatGPT3.5 shocked the software engineering community by its ability to generate answers to specialized questions about coding. Immediately, many educators wondered if it was possible to use the chatbot as a support tool that helps students answer their programming questions. This article evaluates this possibility at three levels: fundamental Computer Science knowledge (basic algorithms and data structures), core competency (design patterns), and advanced knowledge (quantum computing). In each case, we ask normalized questions several times to ChatGPT3.5, then look at the correctness of answers, and finally check if this creates issues. The main result is that the performances of ChatGPT3.5 degrades drastically as the specialization of the domain increases: for basic algorithms it returns answers that are almost always correct, for design patterns the generated code contains many code smells and is generally of low quality, but it is still sometimes able to fix it (if asked), and for quantum computing it is often blatantly wrong.

Benefits and Risks of Using ChatGPT4 as a Teaching Assistant for Computer Science Students

TL;DR

The performances of ChatGPT3.5 degrades drastically as the specialization of the domain increases: for basic algorithms it returns answers that are almost always correct, for design patterns the generated code contains many code smells and is generally of low quality, and for quantum computing it is often blatantly wrong.

Abstract

Upon release, ChatGPT3.5 shocked the software engineering community by its ability to generate answers to specialized questions about coding. Immediately, many educators wondered if it was possible to use the chatbot as a support tool that helps students answer their programming questions. This article evaluates this possibility at three levels: fundamental Computer Science knowledge (basic algorithms and data structures), core competency (design patterns), and advanced knowledge (quantum computing). In each case, we ask normalized questions several times to ChatGPT3.5, then look at the correctness of answers, and finally check if this creates issues. The main result is that the performances of ChatGPT3.5 degrades drastically as the specialization of the domain increases: for basic algorithms it returns answers that are almost always correct, for design patterns the generated code contains many code smells and is generally of low quality, but it is still sometimes able to fix it (if asked), and for quantum computing it is often blatantly wrong.

Paper Structure

This paper contains 28 sections, 33 equations, 10 figures, 7 tables.

Figures (10)

  • Figure 1: First answer of ChatGPT on the prompt to code the Bubble Sort Algorithm.
  • Figure 2: Additional explanations answering the question "You are a computer science instructor with 20 years of experience, and an expert in Python programming. Explain to me how to create a quicksort algorithm in Python."
  • Figure 3: Questioning process and data collection
  • Figure 4: Example of code snippet generated by ChatGPT.
  • Figure 5: Partially correct test code. The test code can be run after those errors are resolved.
  • ...and 5 more figures