1) What's the duration you have to complete the project ?
2) Do you have enough knowledge about the area you wish to do project in ?
3) Do you get any guidance in case you get stuck (technical guidance) ?
4) Which development language you will choose ?
5) Do you know how to manage your project ?
6) Do you have geeks in your group (monkey coders , your friends with big lenses spending time learning new technologies :-) ) ?
7) Do you know what exactly are you doing (with your Project Idea)???
8) Constant activity on Project required !!
Some Prospective Project Areas in CS but not limited to !!
- Web Technologies
- Cloud Computing and BigData Analytics
- Databases
- Data mining & Web Mining
- Operating Systems and System Programing
- Computer Networks (Internet of Things & Web of Things)
- AI and Machine Learning
- Image Processing
- Robotics
- Creating Web Services , Web Applications for niche areas and domains.
- Social APIs. Analytics , Recommender Systems.
- Improving Usability in Websites.
- Sky is limit in Web Technologies and also includes Mobile Apps as an associated area Android , iOS apps.
Cloud Computing and BigData Analytics:
- Security issues in Cloud Computing.
- Evaluation of Realtime problems on Cloud Computing.
- Developing Cloud Computing Prototypes on Low Computing Devices.
- Use of Hadoop or developing MapReduce Framework
- Developing BigData Analytics applications for real-time and real world applications
Databases & Related Technologies:
- Working on conversion of Databases from one form to other.
- NoSQL systems & issues pertaining to it.
- Indexing/Caching/Optimization in Embeded databases.
- Optimization issues in Mobile , Object Oriented Databases.
- Distributed Mobile Databases.
- Cloud & Databases.
Data mining & Web Mining: (A domain of Machine Learning)
- Applying Data mining algorithms to solve various problems like Optimization,Recommendatoins.
- Use of Mining algorithms in Web Analytics Softwares (Eg TrendingTopics.org ).
- Developing Recommender Systems employing use of Machine Learning Algorithms (Eg Amazon Recommendations ).
- Text sumarizatons algorithms. (Eg Google News)
Operating Systems and System Programing:
- Building Bare Metal Distribution for specific needs. Eg StackOps
- Imroving existing OS algorithms for Applications running in Parallel execution environments.
- Custom OS for special Problem domain. Eg Merlin , Chorus ,Amoeba
(Work under Linux OS is a must).
Computer Networks:
(In context of Internet of Things & Web of Things)
- Creating Network Monitoring , Analytics tools or modifying existing Open Source tools.
- Developing p2p protocols.
- Creating network of sensors using Internet of Things and Web of Things.
- Attempt to improve performance of TCP/IP protocols in special application domain ,areas.
- Developing security surveillance and Home automation systems using IoT and WoT standards and technologies.
Machine Learning: (AI, NN, Genetic Algorithms,Machine Learning Algorithms)
- Use of various existing algorithms and techniques in solving optimization problems in CS.
- Requires extensive Mathematical Knowledge and Analytical Programming skills
Image Processing:
- Use of Algos to process images for specific application domains. (Eg vehicle number plate reading at Traffic signals)
- More examples: Background Extraction,Video Frames Processing, Scene Detection, Image detection ,Face Detection.
- Image Databases and retreival ,Querying , Indexing and effiecient Image Processing on Mobile devices.
Robotics:
Anything which can SENSE ,THINK & ACT is called ROBOT.
(Something which you control using remote control is not a Robot !!!!!)
- Creating application domain specific Robots can be good undergraduate Project.
- Requires C coding , and knowledge of Linux ,Serial Programing,
- You will work with Embeded Devices and Sensors like: Arduino ,RaspBerry PI, Netduino
Miscellaneous:
- Use git , SVN for writing & maintaining your code.
- For Java Use: Eclipse / Netbeans
- .NET: Visual Studio, SharpDevelop.
- C/C++: Use Eclipse CDT.
- Firebug , IE Debugger for Websites.
- Python: Eclipse
- Follow proper naming conventions, standards
- Try to contribute to Open Source Community. Put your project on GitHub for future developments let other benefit from your work as you benefit from Open Source.
Very Important !!!!!
- Keep it Simple Stupid !! (In short KISS ) Keep your projects simple and useful
- Most useful code snippets for your project can be found out at Google Code Search (http://code.google.com/codesearch) & Google
- DON'T Forget Your GUIDE !!!!!