Hacker News new | ask | show | jobs
by alanfranz 1964 days ago
I think the ideal would be something like an autograder, rather than a solution. There used to be a Coursera class from Princeton that relied on Sedgewick and Wayne algorithms book, and the class was very, very good.

Then we must hope people don't publish solutions on github!

2 comments

> I think the ideal would be something like an autograder, rather than a solution

Me too! But I don't know how to write a useful auto-grader for free-form English text and pseudocode, and neither does anyone else.

Even a pedagogically useful auto-grader for actual _code_ — one that doesn't just check a bunch of test cases, but diagnoses the code to identify design errors and offers specific feedback for improvement — would be utterly revolutionary.

IIRC the Coursera class autograder used actual code, and offered _some_ design improvement suggestions - about code correctness, edge cases, speed. Of course, it couldn't point out other design flaws.

I think that the Java used in that class was a good approach. By limiting the packages you could use, they prevented leveraging builtin facilities (e.g. Java collections) and forced people to write their own data structures.

or chegg barf