Instructions for Final Year Project Students

  1. Set up a project web site so that you can promote your Final Year Project and encourage people to use your software as well as giving you feedback.

  2. Exercise software engineering practices throughout the project. This includes (a) getting continual feedback from end users, (b) good code and documentation management using version control software such as Git or SVN, (c) good practice of testing (at least unit testing) along the whole development cycle, (d) good documentation and management of bugs found during the development and testing period (e.g., each major bug should be assigned a bug id + stack trace + symptom description and its fix should index the bug id; you may consider using an issue tracking system), (e) regular group meetings with well documented minutes of actions to be taken and review of milestones & progress), and (f) good division of labor (each task should has a person-in-charge who plays the major role; other members play only an assistant role in the task).

  3. I expect none of you will join internship the next academic year.

  4. Start you project in summer immediately after your final examination. Do not wait until the Fall semester. You should need to understand the technological risks and challenges of your project and sort out how to address them in summer.

  5. It is fine if you need to leverage certain code from open source projects, but you NEED to acknowledge/state that clearly in your reports and presentation.

  6. Experience has shown that students who are able to explain challenges clearly and solve them intellectually tend to receive higher grades. Do not just repeat what others or existing applications have done.
Happy final year project!