PDA

View Full Version : Final year Project Ideas for Ubuntu



grvsaxena419
September 25th, 2011, 06:34 PM
Hello all
I am a computer science undergraduate. I want to do my final year project on ubuntu. Please help me with some ideas related to ubuntu on which i can work.
I would have around 8-9 months for working on the project. I would like to work using c/c++.

marin123
September 25th, 2011, 06:40 PM
I'll just throw this in...
You can install Eclipse and Android SDK and make an Android app, that's what I was thinking for my masters. I know it's not C/C++, but you might like it :)

ve4cib
September 25th, 2011, 06:58 PM
You could try creating a simple filesystem, implement the appropriate kernel modules for it, and benchmark it against more standard filesystems. Or along the same vein, try writing a file system that uses an IMAP enabled email account for "cloud" storage.

If that's not your thing then you could find some application that you feel is missing or incomplete and write that. If you're modifying an existing progam you could even submit patches to the maintainers.

What area of CS are you interested in? AI? Kernel-level programming? Graphics? Data mining? ...? Without knowing more about your own interests it's very hard to suggest anything specific.

BeRoot ReBoot
September 25th, 2011, 07:15 PM
What area of CS are you interested in? AI? Kernel-level programming? Graphics? Data mining? ...? Without knowing more about your own interests it's very hard to suggest anything specific.

This.

If you're into networking, try writing a web/mail/file/*server, or better yet, invent your own protocol and write a client/server that implements it.

If you're into UNIX administration, try writing an update manager that doesn't hopelessly mangle your system during a major upgrade.

Whatever you end up doing, keep in mind that a good programmer has three key virtues: Laziness, Impatience and Hubris (http://en.wikipedia.org/wiki/Larry_Wall#Virtues_of_a_programmer). Also keep in mind that a certain fraction of your users will always be extremely stupid. Design your software such that even they can use it without crashing and without ruining the system they're using it on.

grvsaxena419
September 26th, 2011, 04:26 AM
Thank you all very much for helping.

You could try creating a simple filesystem, implement the appropriate kernel modules for it, and benchmark it against more standard filesystems. Or along the same vein, try writing a file system that uses an IMAP enabled email account for "cloud" storage.

Thats a really nice idea. I will think over it.



If that's not your thing then you could find some application that you feel is missing or incomplete and write that. If you're modifying an existing progam you could even submit patches to the maintainers.

Actually I also thought that but its difficult to figure out what is missing as many things are implemented but are not so famous and also I am unsure of what kinda efforts they might take. I need to complete the project completely in 7-8 months :(.


What area of CS are you interested in? AI? Kernel-level programming? Graphics? Data mining? ...? Without knowing more about your own interests it's very hard to suggest anything specific.
Ohh sorry my mistake. I am interested in kernel-level-programming, system programming , graphics ,data structure and algorithms :)

grvsaxena419
September 26th, 2011, 04:36 AM
I'll just throw this in...
You can install Eclipse and Android SDK and make an Android app, that's what I was thinking for my masters. I know it's not C/C++, but you might like it :)

Thanks for your suggestion marin123 :) But Actually I am not much interested in phone application development I would prefer cloud based application or something that could be written in C/C++ as it provides a good learning curve. :)

grvsaxena419
September 26th, 2011, 04:52 AM
This.

If you're into networking, try writing a web/mail/file/*server, or better yet, invent your own protocol and write a client/server that implements it.

If you're into UNIX administration, try writing an update manager that doesn't hopelessly mangle your system during a major upgrade.

I am not into networking. But I like your update manager idea i will think about this also.


Whatever you end up doing, keep in mind that a good programmer has three key virtues: Laziness, Impatience and Hubris (http://en.wikipedia.org/wiki/Larry_Wall#Virtues_of_a_programmer). Also keep in mind that a certain fraction of your users will always be extremely stupid. Design your software such that even they can use it without crashing and without ruining the system they're using it on.

Ok :) I will remember these virtues and also test my program thoroughly :)