A Case Study for using Generative Language Models in GUI Development

Katelyn Reagan, Maryam Berijanian, and Dirk Colbry

Volume 15, Issue 2 (November 2024), pp. 29–39

https://doi.org/10.22369/issn.2153-4136/15/2/6

PDF icon Download PDF

BibTeX
@article{jocse-15-2-6,
  author={Katelyn Reagan and Maryam Berijanian and Dirk Colbry},
  title={A Case Study for using Generative Language Models in GUI Development},
  journal={The Journal of Computational Science Education},
  year=2024,
  month=nov,
  volume=15,
  issue=2,
  pages={29--39},
  doi={https://doi.org/10.22369/issn.2153-4136/15/2/6}
}
Copied to clipboard!

In the age of advanced open-source artificial intelligence (AI) and a growing demand for software tools, programming skills are as important as ever. For even the most experienced programmers, it can be challenging to determine which software libraries and packages are best suited to fit specific programming needs. To investigate the potential of AI-supported learning, this case study explores the use of OpenAI’s ChatGPT, powered by GPT-3.5 and GPT-4, by students to create an image annotation graphical user interface (GUI) in Python. This task was selected because good User Experience (UX) design is a deceptively complex task in that it can be very easy to build a GUI interface but extremely hard to build one that is well designed. The approaches employed in this study included creating a program from scratch that integrates the listed features incrementally; compiling a list of essential features and requesting ChatGPT to modify existing code accordingly; collaborating on specific segments of a user-initiated program; and creating a program anew using GPT-4 for comparative analysis. The findings of this case study indicate that ChatGPT is optimally utilized for responding to precise queries rather than creating code from scratch. Effective use of ChatGPT requires a foundational understanding of programming languages. As a learning tool, ChatGPT can help a novice programmer create competent initial drafts, akin to what one might expect from an introductory programming course, yet they necessitate substantial modifications for deployment of the tool even as a prototype.