First of all, you should understand that the best topic is the one you create for yourself. And the best programming work is the one you would love to use yourself. You only need to get a good idea on how to generate pretty good ideas. If this is does not have to be an idea of a century, this is easier than it may look at first.
Of course, someone can give you a good idea, but this person should know you well, and even then, such cases are relatively rare. Frankly, your information about your works carry tells too little about you, is almost irrelevant. In the university, the ideas from my fellow students used to be most productive.
You can find some ideas in my past answers:
Can you suggest a topic for my Senior Project? Programming[
^],
Need Project Ideas Help me Plz[
^],
JAVA final year projects[
^],
Please suggest a good concept for my .NET project ?[
^],
need some projects topics with description[
^],
Help Me to Choose A Better Final year Project[
^],
how to improve my technological capability[
^].
—SA