Reverse engineering

Over time I’ve developed a particular technique for giving coding assignments to my computer science students.

When it’s time to give the students a coding assignment, I first implement the assignment myself, going from the course notes that I wrote for them in the most recent lectures. Then I decide which parts of the code I think they should be responsible for.

Depending on how advanced the students are, I can give them more or less of the code to do. For the parts that I’m not expecting them to implement, I just leave in my own code.

Then I add comments describing the parts I want them to implement, which turns that part of the code into a kind of step by step algorithm. Finally, I remove all of the code that I wrote for those parts.

It’s a kind of reverse engineering approach to building coding assignments. And it seems to work really well.

2 thoughts on “Reverse engineering”

Leave a Reply

Your email address will not be published. Required fields are marked *