Computer science and related courses of study require a sound education in software engineering. We have designed and continuously developed a software engineering project course to serve these topics. The COVID-19 pandemic was a turning point in many ways, including for our course and the way we taught during and after that time. We describe how we adapted the course to these new pandemic conditions. In particular, we introduced an automated program assessment system that helped us keep the difficulty of all assignments constant, even during hybrid and online-only classes for the different student teams, while keeping the motivation of individual students in each team high. We started with a binary (pass/fail) grading system, but we saw that a fine-grained individual grading is worth investigating and might lead to higher acceptance and willingness to participate among students. Both automatic assessment and individual grading, and increasingly code generation, are a case for AI. We use the state of the art to show where AI can be applied to our specific programming tasks and where its limitations lie.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Automatic Program Assessment, Grading and Code Generation: Possible AI-Support in a Software Development Course

  • Uwe M. Borghoff,
  • Mark Minas,
  • Kim Mönch

摘要

Computer science and related courses of study require a sound education in software engineering. We have designed and continuously developed a software engineering project course to serve these topics. The COVID-19 pandemic was a turning point in many ways, including for our course and the way we taught during and after that time. We describe how we adapted the course to these new pandemic conditions. In particular, we introduced an automated program assessment system that helped us keep the difficulty of all assignments constant, even during hybrid and online-only classes for the different student teams, while keeping the motivation of individual students in each team high. We started with a binary (pass/fail) grading system, but we saw that a fine-grained individual grading is worth investigating and might lead to higher acceptance and willingness to participate among students. Both automatic assessment and individual grading, and increasingly code generation, are a case for AI. We use the state of the art to show where AI can be applied to our specific programming tasks and where its limitations lie.