Most final-year projects fail before the first line of code is written. Not because students are weak at programming. Because they choose projects they cannot complete, explain, test, document, or ...