4 ms·
As a part of the build system at my work, we run various passes over the code aside from just "does this compile". I'm sure these MOOCs could find software to:
by 67726e 14y ago
As a part of the build system at my work, we run various passes over the code aside from just "does this compile". I'm sure these MOOCs could find software to:
1. Check style of a language
2. Run a comprehensive suite of unit tests
3. Static analysis of the code
These tools together can catch most problems of bad formatting, fragile code (cannot handle edge cases, errors, etc.), and structural errors. Additionally you could take into account some kind of performance of the code - does this solve this problem in a reasonable amount of time?
By using standard industry tools, one could do a good grading system that is entirely automated.
- brunov 14y agoMost of the CS courses I've taken from Coursera already do all those things. The Algorithms course from Prof. Sedgewick in particular had an excellent test suite for its programming assignments. You were graded on complying to an interface, code style, correctness, performance and memory usage, with strict requirements on the latter two. You couldn't get away with, say, implementing a brute force solution and calling it a day, you had to solve the problem optimally.