This study examines the use of large language models (LLMs) by undergraduate and graduate students for programming assignments in advanced computing classes. Unlike existing research, which primarily focuses on introductory classes and lacks in-depth analysis of actual student-LLM interactions, our work fills this gap. We conducted a comprehensive analysis involving 411 students from a Distributed Systems class at an Indian university, where they completed three programming assignments and shared their experiences through Google Form surveys. Our findings reveal that students leveraged LLMs for a variety of tasks, including code generation, debugging, conceptual inquiries, and test case creation. They employed a spectrum of prompting strategies, ranging from basic contextual prompts to advanced techniques like chain-of-thought prompting and iterative refinement. While students generally viewed LLMs as beneficial for enhancing productivity and learning, we noted a concerning trend of over-reliance, with many students submitting entire assignment descriptions to obtain complete solutions. Given the increasing use of LLMs in the software industry, our study highlights the need to update undergraduate curricula to include training on effective prompting strategies and to raise awareness about the benefits and potential drawbacks of LLM usage in academic settings.
@article{arxiv.2404.04603,
title = {Analyzing LLM Usage in an Advanced Computing Class in India},
author = {Anupam Garg and Aryaman Raina and Aryan Gupta and Jaskaran Singh and Manav Saini and Prachi Iiitd and Ronit Mehta and Rupin Oberoi and Sachin Sharma and Samyak Jain and Sarthak Tyagi and Utkarsh Arora and Dhruv Kumar},
journal= {arXiv preprint arXiv:2404.04603},
year = {2024}
}