Cheating on programming is making headline news (link). The web and social media make solution sharing and work outsourcing dramatically easier. Availability of legitimate help is lessening due to class size increases and resource reductions. Pursuing cheating cases is exhausting for professors, thus many have given up trying. Meanwhile, program auto-grading has grown explosively in recent years, introducing its own challenges (e.g., hardcoding to test cases), but also providing new opportunities to tackle cheating problems.
Dr. Vahid will summarize his investigations on hundreds of cheating cases across various courses, including info from student interviews, and discuss approaches employed at UCR and other schools, and tool features from companies like zyBooks, that aim to reduce cheating, including:
• Tools to capture all programming effort, not just the final submission
• Cheat detection tools beyond similarity checking, like detectors of anomalous constructs (likely outsourcing), drastic changes (likely pasted solution), and hardcoding (cheating the auto-grader).
• Pedagogy and processes that can reduce cheating, like incremental learning, many small programs, help forums, pair/group work, custom projects, a “regret clause” as at Harvard, and more.
The approaches and features are based on a theory of why students cheat, known as the “fraud triangle”, which will be introduced and referred to throughout.
We describe new efforts enabled by program auto-graders, like showing students their programming “effort signatures”, that have shown promising results, and point to new research directions enabled by such auto-graders.
Frank Vahid is a Professor of Computer Science and Engineering at the University of California, Riverside, since 1994, and the co-founder and chief learning officer of zyBooks (acquired by Wiley in 2019). His research focus is on improving college-level CS/CE/STEM education and on embedded systems. He is author of textbooks from Wiley, Pearson, and zyBooks on topics including C++, C, Java, data structures, digital design, computer organization, embedded systems, and more. He has received several teaching awards, including UCR Engineering’s Outstanding Teacher award and UCR’s Innovative Teaching award. His work has been supported by the NSF (university and SBIR Phase I/II grants), the SRC, the U.S. Dept. of Education (university and SBIR Phase I grants), and companies such as Google and Intel. He received his B.S. in Computer Engineering from the University of Illinois at Urbana/Champaign, and his M.S. and Ph.D. in Computer Science from the University of California, Irvine.