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