Saturday, March 15, 2014

Projects For Programmers

A list of Projects For Programmers.


Anyone out there looking for challenges?

  • Area: Software Engineering
    • Programming Language
      • Design a new Programming Language. Write an Interpreter for the language. 
        • Interpreter for your own Lisp.
      • Personal Note: While I was in College, I used to dream of inventing - not just an “YAPL” - "Yet Another Programming Language" but a great programming language that would take the Software World by storm! This project would be a great practice for that yet-to-be-named programming Language!
    • Software Engineering Tools
      • Write a "mini" Dependency Injection Framework. 
      • Write a Code Generation Tool that generates project structure, classes, fields, methods, creates Database from XML / YAML. 
        • Examples: 
          • Ruby on Rails 
          • Spring Roo
  • Area: Theoretical Computer Science
    • Solve TopCoder [1] and Google Codejam [2] Problems. 
  • Area: Intelligence and Data
    • Implement Natural Language Parsing.
      • Use your Dependency Injection Framework to inject different Algorithms.
        • Top down Parsing 
        • Chart Parsing
    • Implement Minimax Algorithm with Alpha-Beta pruning on a simple game.
      • Use your Dependency Injection Framework to inject different games into the Algorithm (so that you can inject any game you wish). 
    • Prototype a Web Search Engine on a small number of Wikipedia pages.
    • Analyze Political Survey Data with 
      • Hadoop, Mahout
      • Spark, MLib
    • Prototype Web-based Email with anti-spamming feature.
      • Implementation of Machine Learning (Bayes)
  • Area: Systems
    • Mobile Development
      • Mini Android Apps
        • Develop a “Who wants to be a Millionaire” App.
    • Virtualization
      • Design a Virtual Machine. 
    • Database
      • Design and implement a prototype RDBMS Server (RDBMS lite).
      • Design and implement a prototype NoSQL Server
        • Graph Database Server.
    • Write a Mini Web Browser.
      • Use Google’s JavaScript V8 Engine.
    • Networking & Distributed Computing
      • Design and Implement a new Application Layer Protocol.
        • Protocol that supports Internet Of Things, Cloud, Mobile.
        • New Full-duplex protocol on top of HTTP 
          • Current:
            • WebSocket 
            • Comet
      • Prototype your own Mapreduce framework.
      • Prototype an HTTP Server.
        • Use Node.JS
        • Prototype an E-Mail Server. 
      • Write a Django CMS on Google App Engine (datastore).
      • Write a Distributed Application with Java Spring Framework.
      • Write a PC^2 equivalent Software for Programming Contests.
      • Write Personal News / Blog Reader and Bookmark Manager for personal use.
      • Design Ebook App.
        • Interactive HTML5 EBook with advanced Mobile Interactions.

References

No comments:

Post a Comment