DEV Community

Discussion on: How I Automated My Grading Responsibilities

sobiwankenobi profile image

Why not teach them JUnit as a way of learning the language and doing TDD? While their tests may not be correct, it will help them to think about functionality ahead of time.

This will also change your testing requirement to behavior of the solution-- that is, blackbox testing. To your point, at this level, the guts of the projects may not be as important as a functioning project so maybe this is enough.

renegadecoder94 profile image
Jeremy Grifski Author • Edited on

We actually do teach JUnit in the second CS course. But, there are a lot of complications that make it hard to teach in the first place. In particular, it’s a 3-credit intro course (2 hours of lecture and 1 hour of lab a week), and a lot of the students have no interest in coding. Of course, the main issue was I didn’t have any control over the curriculum, though I suppose I could have snuck a lesson or two in.

They piloted a new way of doing projects last semester which had an online textbook where you could submit code for testing. It would show all the test cases you missed and how you missed them which I thought was pretty cool. Granted, it doesn’t really teach them how to test code themselves.

Oddly enough, I learned JUnit when I was in my first Java class, so I get where you’re coming from. It’s possible, and it would be great if the course moved in that direction in the future.