Leveraging on Generative AI to Teach Undergraduate Software Engineering: A Collaborative Prompt Catalogue
摘要
As software engineering educators, we are always looking for ways to engage our students and help them develop the skills they will require in their future careers. Generative artificial intelligence offers an exciting new tool with the potential to change software engineering education. As a case in point, in this paper we explore how large language models like ChatGPT can be used as interactive teaching assistants in undergraduate software engineering courses. We provide a catalog of prompt examples tailored for 12 key knowledge areas of software engineering. These prompts can be used to generate code, tests, explanations and more, enabling students to experiment and get personalized guidance. Students can brainstorm requirements, simulate APIs, get automated feedback, and much more. Using ChatGPT and similar AI systems prepares students for tools they may encounter in industry and gives them valuable experience in human-AI collaboration. While generative AI offers many benefits, it also brings challenges that must be addressed. We discuss concerns around the correctness, risks and quality of AI-generated answers. Our goal is to inspire and motivate educators to consider using generative AI to create engaging learning experiences for students. We provide resources to help educators get started, encouraging experimentation and sharing of ideas and prompts.