Monday, 27 January 2014

Project Areas and Ideas for Undergraduate and Graduate level CS/IT Enggineering

The most intriguing question in your minds when you are at a stage to choose your graduate or undergraduate projects is  "How to choose an Project area ?" Well by asking following further questions to yourself, will assist you in choosing most suitable project area for your Course.

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
Web Technologies:

  • 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.
Prominent Tools & Languages used: Android , Java , .NET, jQuery, RoR , Python. PhoneGAP ,SenchaTouch ,MobilejQuery Social Net APIs.

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
Prominent Tools & Languages used: Eucalyptus ,OpenStack , AppScale. Java , .NET, Hadoop (Hive ,Pig), Pentaho ETL , R (Statistical Computation Suite)

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.
Prominent Tools & Languages used: Java, .NET, MySQL ,Oracle Express Editoin. PostGreSQL. NoSQL: MongoDB ,CouchDB, Apache Cassandra.

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)
Prominent Tools & Languages used: Python,Java ,C ,.NET, Weka, GATE (General Architecture for Text Engineering)

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
Prominent Tools & Languages used: C (very important) , Linux Programing
(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.
Prominent Tools & Languages used: C,Java, Python, .NET, WireShark , TCPDUMP, NS2/3. Linux programing and awareness (Work under Linux OS is a must).

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
Prominent Tools & Languages used: OpenNLP, Apache Mahout, Weka, Java.

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.
Prominent Tools & Languages used: C,C++,Java, C#, Matlab*,Scilab,OpenCV.

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
(I can help you get started in this area ).

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 !!!!!