Final year projects of undergraduates are more crucial and most of the time it is the most important part of the degree as I believe. For ICT undergrads that would be a nice opportunity to show their creativity. What they have learn all over their undergrad-ship would help them to output the final product. Personally I dont believe that the project can be used to measure their knowledge. But at least it shows his skills of application of things he has learnt.
Most important thing in project is the idea. Whether it is creative enough and marketable enough is the main problem behind the project undergrads are choosing. Therefore the project should be selected with extra care. It is always advisable to select a project in an area where ht undergrads are familiar with instead trying the luck on completely untouched area.
Most of the time I was asked for ideas about the project. Most of the time my advice based on their course.
Software Engineers, Computer Science, Computer Engineers, Developers should have to have a good understanding on their role before selecting a project rather than picking up one blindly.
For students from Software Engineering/ Developers, it is good to pick a project in area where more application of theories are involved. They should be more worried on the implementation of the idea. For example lets take a project like developing an ERP system to a company. First of all what should they seek is the implementation of the solution using what ever the technologies they have learnt. That can be focusing a specific issue.
Computer Science students should be more focus on more theoretical projects that are involved in Maths hugely. Problem solving, algorithms, effective algorithms are kind of areas that they can explore.
If you are not following a basic diploma or a normal ICT degree it is always good to develop a more general version of the solution and use it on a project and show it as an example use of the generalized version of the project you have built.
For example once a software engineering student has asked me is it good to choose a developing a translator for mobile for his final year project. In such a situation implementing a translator seems a task that is far away from the software engineer. But his idea can be developed in following manner.
It is good to develop an engine which can later be used to implement translating application on mobiles, lets say in Java supporting mobile phones. Later he can use his own engine in his application and show it as an example use of the library.
Most of the time I have seen students are not marketing their projects enough. The reason behind is they dont have a proper understanding of the project they have undertaken. Therefore understand the project and try to find out ways of marketing the project.
Give huge attention to make it creative.