  Much research has highlighted the impressive capabilities of large language
models (LLMs), like GPT and Bard, for solving introductory programming
exercises. Recent work has shown that LLMs can effectively solve a range of
more complex object-oriented programming (OOP) exercises with text-based
specifications. This raises concerns about academic integrity, as students
might use these models to complete assignments unethically, neglecting the
development of important skills such as program design, problem-solving, and
computational thinking. To address this, we propose an innovative approach to
formulating OOP tasks using diagrams and videos, as a way to foster
problem-solving and deter students from a copy-and-prompt approach in OOP
courses. We introduce a novel notation system for specifying OOP assignments,
encompassing structural and behavioral requirements, and assess its use in a
classroom setting over a semester. Student perceptions of this approach are
explored through a survey (n=56). Generally, students responded positively to
diagrams and videos, with video-based projects being better received than
diagram-based exercises. This notation appears to have several benefits, with
students investing more effort in understanding the diagrams and feeling more
motivated to engage with the video-based projects. Furthermore, students
reported being less inclined to rely on LLM-based code generation tools for
these diagram and video-based exercises. Experiments with GPT-4 and Bard's
vision abilities revealed that they currently fall short in interpreting these
diagrams to generate accurate code solutions.
