   Final year project ideas wanted
  Hi all,I'm currently in my 3rd year at University studying for a Software Engineering degree and have to begin thinking about what I want to do for my final year project. I have a couple of ideas myself, but I want to develop a piece of software that is actually useful or provides a helpful service to someone. If anyone has any ideas that they are willing to share I'd greatly appreciate them.Thanks for your time,SD   
  Will you be working on the project by yourself or with a team? Is it a single-semester project or a year-long project (two semesters)? I'm going to assume you're working by yourself on a two-semester project, so that's about 8 months.One of the key things you're going to have to keep in mind is picking a project that is *doable* in the limited time frame you're going to have. Given that you're in a Software Engineering degree, I would expect that you will need to generate all the appropriate documentation from conceptualization through requirements to design, etc. This can easily take at least half or more of your project time. You also need to allot time for testing, which could be an entire month at the end of your project. Out of 8 months, I would expect 3 of those months being used for actual coding, and even then your time is going to be split amongst your other classes, so it's not going to be a solid 3 months.If "game" is anywhere in your ideas, seriously rethink it. You might be able to fully develop a simple platforming game in this time, but not much more. Most games have a lot of content that needs to be created, and that will take a lot of time out of your other work. This is especially true if "game" means "3D FPS". You're not going to have enough time to do it, even if you have a team.My senior research project was on uses of optical illusions in computer graphics. I only had a single semester, but I didn't have very much documentation to write either. I had a lit survey, a poster, and a final paper to write, which the final paper practically wrote itself as I pieced it together from my GDNet+ journal postings of my project progress.You might consider doing a feature addition to an open source project. Just a thought I had, talk to your professor first. Something like that would be an excellent exercise in change management processes, so it would be a good demonstration of your learning in Software Engineering.Artificial Intelligence is a field that is ripe for project work and the projects fit well in the time limit. Some kind of procedural content generation would also fit, given the state of the art right now.   ;  Thanks for the reply. Yeah you are pretty much right in that it is a solo project that I'll be working on. I think it's possible to work in a team, but we've done plenty of team work over the course and I'm looking forward to working on a reasonably 'big' project on my own now. It's also 2 terms worth of work, which is roughly 20-22 weeks (term time) plus 4 weeks I have for the Christmas break which can be used on the project too. It's intended to be 600 hours worth of work, including all documentation as you correctly mentioned. At a vague estimate I'd guess that anywhere between 200-400 hours would be spent on programming, with the rest spent doing specifications, UML documentation, testing and so forth.I have considered games, but decided against it, and that with my course being based more around software development I aim to develop a useful piece of software.My only current idea that I feel is feasible is an e-learning tool written in Java, but I'm not 100% sure that this is something that I want to spend a large amount of time on, or that it would be a 'useful' piece of software at all since there are already e-learning tools available.The idea of working on an Open Source project is interesting, but I'm not sure that my lecturers will allow it - it's worth an ask. As for the AI suggestion, I've thought about that too, I was thinking of an AI help desk that would try and answer the question for you and if not pass you through to a real person to answer it and then add the new answer to the list of answers. I decided against this though due to the fact I didn't take the Natural Language Processing module and so it would be a rather steep learning curve that would be difficult to plan.Thank you for your input,SD   