A large portion of the grade I received during my final year at university depended on a technical project I had to complete. Recently, I have been asked by a few people whether I had any recommendations on choosing a project. Beyond the obvious advice of working on something you have a personal interest in and think you could make a good job of, a few more general things came to mind that should apply to any supervised project:
Pick the lecturer in charge of a project as much as the project itself. This obviously only applies if you are not assigned a certain supervisor. Bad lecturers can be great researchers, don't rule them out because you didn't enjoy their teaching. It’s probably best to pick someone you get on with and admire but it's equally important that they’re actually interested in your project. If they like what you’re doing and aren’t too egotistical about it being an undergrad project (most of them care more about their Masters/PhDs because they tend to get published) they’ll help the most. This is probably best gauged by going to meet with lecturers individually before you have to make your choice, even before college starts back. Meeting with lecturers is one of the most insightful things I found when choosing a project, they've been through the process enough times. It's a bad sign if they don't have time to meet with you before the semester really kicks off. What will they be like in Week 10 when you really need their help?
Consider picking something that might be publishable. Obviously that’s really rare at undergraduate level but totally possible. It would look great on your resume and holds some weight in a professional setting (depending on the company). Even if the project doesn't turn out quite as you had hoped it's a good motivator to do your best work possible when completing the project.
It’s not always best to do an easy project. There can be a bunch of cool projects offered that seem relatively easy. Some of these are included for people who simply want to pass. If you're willing to put the effort into a harder project you will likely get higher marks. Given you're completing the project in an academic environment there will be a preference towards theoretical projects. In Computer Science this meant choosing a research project (e.g. machine learning or algorithm based) over building a mobile or web app. Research projects tend to be more open, with no definitive goal. It's probably worth acknowledging this style of work given it's more akin to the real world. After you're finished your degree, you won't be handed assignments to complete. Some of the hardest work I’ve done professionally has just been figuring out the right thing to work on. The downside of research projects is that the outcome is really unknown and the results may turn out terrible through no fault of your own.
Maybe consider picking something that you can talk about in interviews. Employers love to talk about your projects (certainly the case in technical interviews) so try to pick something that relates to the specific area you want to work in or that you think you might want to work in.
Don't do what you've always done. I avoided building any form of app for my project. While it is something I've done a ton in the past and would be cool to get to invest a serious amount of time into a potential project it's not what I would have learned the most from. Having no previous experience conducting research I thought this might be an interesting opportunity to segue into a different set of skills and techniques, compared to reusing my usual tools.
Don't be afraid to suggest your own project I didn't actually do this largely because I wasn't sure what constituted a good project description. You'll see that the briefs given are purposefully broad to allow students to scope them depending on their interests and the amount of time they have to dedicate. Find the person most relevant to the topic you're interested in and arrange a meeting. Lecturers tend to enjoy talking to people interested in their research area and will appreciate your initiative. You can usually find some common ground on which to base a project.