├── .gitignore ├── CONTRIBUTING.md ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | # C extensions 4 | *.so 5 | 6 | # Packages 7 | *.egg 8 | *.egg-info 9 | dist 10 | build 11 | eggs 12 | parts 13 | bin 14 | var 15 | sdist 16 | develop-eggs 17 | .installed.cfg 18 | lib 19 | lib64 20 | 21 | # Installer logs 22 | pip-log.txt 23 | 24 | # Unit test / coverage reports 25 | .coverage 26 | .tox 27 | nosetests.xml 28 | 29 | # Translations 30 | *.mo 31 | 32 | # Mr Developer 33 | .mr.developer.cfg 34 | .project 35 | .pydevproject 36 | 37 | # Komodo 38 | .komodotools/ 39 | *.komodoproject 40 | 41 | .DS_Store 42 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | How to Contribute 2 | ================== 3 | 4 | ## Solutions 5 | 6 | Please **do not send pull requests for replacing my code**. If you'd like to contribute [solutions](https://github.com/vicky002/Project_Solutions), please see the following instructions: 7 | 8 | - Solve the problem, and keep it in your repo. DO NOT send merge request yet. 9 | 10 | - Find the problem in this [README](https://github.com/vicky002/1000_Projects/blob/master/README.md) file. 11 | 12 | - Edit the file in this format (notice the double square brackets): 13 | 14 | \**This is a problem** - And here goes it's description. \[[octocat (language)]]\(link-to-octocats-solution) \[[your_username (C++)]]\(link-to-your-solution) 15 | 16 | This results in something like this: 17 | 18 | **This is a problem** - And here goes it's description. [[octocat (language)]](link-to-octocats-solution) [[your_username (C++)]](link-to-your-solution) 19 | 20 | - Please respect other people and do not delete or move anyone else's link. Place your solution at the end of the list of solutions. 21 | 22 | - Save/Commit the README.md file. 23 | 24 | - Send a pull request for this commit ONLY - ie, the commit to the [solutions repo](https://github.com/vicky002/Project_Solutions)! 25 | 26 | 27 | ## Projects 28 | 29 | If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/vicky002/1000_Projects/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes. If you add a problem, make sure you add it in the correct category. 30 | 31 | It is required that any changes made to the projects (this does not include adding solutions) in *README.md*, must be reflected in the [Solutions *README.md* file](https://github.com/vicky002/Project_Solutions/blob/master/README.md) 32 | 33 | If you're copying a project from some other webpage, you **MUST** link to it in the *Sources* section at the bottom of repo's *README.md* and *README-scratch.md*. 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Vikesh Tiwari 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 1000_Projects 2 | Mega List of practical projects that any one can solve in any programming language! 3 | 4 | --- 5 | 6 | [Contributing](https://github.com/vicky002/1000_Projects/blob/master/CONTRIBUTING.md) 7 | ============ 8 | See ways of contributing to this repo. You can contribute solutions (will be published in this repo) to existing problems, add new projects or remove existing ones. Make sure you follow all instructions properly. 9 | 10 | [Solutions](https://github.com/vicky002/Project_Solutions/blob/master/README.md) 11 | ========== 12 | 13 | You can find implementations of these projects in many other languages by other users in [this repo](https://github.com/vicky002/Project_Solutions). 14 | 15 | Before committing make sure you follow all the instructions properly. 16 | 17 | 18 | - **Blocked Port By-Pass Application**: Apart from HTTP/HTTPS, all other ports are blocked. Our College LAN does not allow port 22 (SSH Port). Therefore, develop a tool that bypasses blocked port 22. 19 | 20 | - **New Network Protocol**: UDP and TCP protocols have few problems/short-comings. Identify them and design your own Network Protocol. 21 | 22 | - **TOR**: TOR is a very famous applications used in college/university by students for tunneling websites. Most of the college internet providers have even blocked TOR. So, build similar application for tunneling and defend yourself against network surveillance and traffic analysis. 23 | 24 | - **Chat Application using AJAX** 25 | 26 | - **Lan Audio(Voice) Chat**: Can be easily implemented in Java with Java-net and Java Sample Audio API. 27 | 28 | - **Group Chat in Java**: Again it's easy to implement. A basic knowledge of Concurrent Server will do. 29 | 30 | - **Media Player in Java**: Easy to implement. Thanks to Java Sample Sound/Audio API. 31 | 32 | - **MP3 Extractor from you-Tube** 33 | 34 | - **Text Editor:** Designing UI for text editor with Java Swing is a cake walk. Use an advanced data structure like suffix tree, Patricia Tree, etc for searching. 35 | 36 | - **Zip Password Crackers**: Any File Can be unzipped through the command line, providing password as an argument. So, write a simple brute force program to generate permutations (possible passwords) and send it to command line, creating and running shell script. Run until you receive a success return call, that's it, the simple Zip Password Cracker Project is ready. 37 | 38 | - **Create a Trojan Horse in C**: Again that's pretty easy. Run a simple C++ program on remote computer. Intelligently create a huge .dll file in SYS 32 directory and as an impact, eat the hard-disk space of victim's computer. Any Clean up software ignore .dll file, so the only solution is: Victims have to reformat the hard drive. 39 | 40 | - **Simple C++ Key Logger Project** : A project that records the key strokes of PC and store it in intelligent way. Again, that can be easily done with Microsoft visual C++ SetWindowsHookEx API. The premiere challenge is you have to be smart enough to outplay Anti-Virus in detecting your key-logger. 41 | 42 | - **3D Bounce in OpenGL**: Small game project, can be easily done with OpenGL-API for rendering 2D and 3D computer graphics. 43 | 44 | - **Regular Expression Parser**: C application that parses regular Expression. 45 | 46 | - **Remote Editing with CGI**: Editing a document on another machine via the Web. The useful tools:The cgi module, along with the cgitb module for debugging are available with Python . 47 | 48 | - **Arcade games in Python**: Python provides Pygame, an extension that enables you to write full-fledged, full-screen arcade games in Python. 49 | 50 | - **Voice based Web Browser**: Develop a web browser that takes input as speech and renders output as Speech. Lot of frame work and tools are available. Good project for PHP, AJAX and J2EE Expert. 51 | 52 | - **Online Test Management**: Similar to interviewstreet.com Can be easily done in PHP or any server side scripting Language. 53 | 54 | - **CMS**: Develop a CMS similar to Joomla, Drupal,etc. Students of National Institute of Technology, Tiruchirappalli developed a CMS named Pragyan. They use this project for maintaining college web-site as well as Tech-Fest Website. 55 | 56 | - **Discussion Forum**: Develop something like http://www.quora.com/, Stack Overflow , DISQUS 57 | 58 | - **Intranet File Search Engine**: 59 | 60 | - **A Social Code Sharing Site**: Build a user-driven application with much more interactivity and some social-style features—specifically, a community-based repository of useful, reusable code.Something like Django snippets. This project can be easily done in Django (web framework). 61 | 62 | - **Highly Confidential Security System**:Develop an application for storing file, images , audio , video ,etc. in a secure way. Use an advance and almost non- crack-able cipher(Blowfish, AES, etc.) to encrypt data(text data & media-file) before caching them in a password protected locker. 63 | 64 | - **Defect Tracking Tool** : Develop and application to track defects in different product and implement various defects and their analysis. 65 | 66 | - **Search tool based on data-mining algorithm**: When you type the first letter in facebook search box, have you ever noticed, the friend name whom you search frequently or with whom you interact mostly in fb appears on the top of the suggestion box. That's because of highly efficient data-mining algorithm implemented by facebook. Develop similar tool and add few additional as well as custom features. 67 | 68 | - **Classifier**: Most of the existing classifiers are not quite accurate. Either read some paper or modify the existing algorithm or propose a new algorithm for classification. Develop a classifier and prove that your classifier is more efficient than existing one. 69 | 70 | - **RSS Feed Creator** – A program which can read in text from other sources and put it in RSS or Atom news format for syndication. 71 | 72 | - **Post it Notes Program** – A program where you can add text reminders and post them. You can have the program also add popup reminders. 73 | 74 | - **Quote Tracker (market symbols etc)** – A program which can go out and check the current value of stocks for a list of symbols entered by the user. The user can set how often the stocks are checked and the program can show green up and red down arrows to show which direction the stock value has moved. 75 | 76 | - **Guestbook / Journal** – A simple application that allows people to add comments or write journal entries. It can allow comments or not and timestamps for all entries. Could also be made into a shout box. 77 | 78 | - **News Ticker and Game Scores** – A program which sits on your desktop and aggregates news and game scores from various sources on the net. It then scrolls them across the screen on regular intervals. 79 | 80 | - **Fortune Teller (Horoscope)** – A program that checks your horoscope on various astrology sites and puts them together for you each day. 81 | 82 | - **Vigenere / Vernam / Caesar Ciphers** – Functions for encrypting and decrypting data messages. Then send them to a friend. 83 | 84 | - **Random Gift Suggestions** – Enter various gifts for certain people when you think of them. When its time to give them a gift (xmas, birthday, anniversary) it will randomly pick one and perhaps places you can get it. 85 | 86 | - **Text to HTML Generator** – Converts text files into web HTML files and stylizes them. Great for making online documentation of standard text documentation. 87 | 88 | - **CD Key Generator** – Generates a unique key for your applications to use based on some arbitrary algorithm that you can specify. Great for software developers looking to make shareware that can be activated. 89 | 90 | - **Regex Query Tool** – A tool that allows the user to enter a text string and then in a separate control enter a regex pattern. It will run the regular expression against the source text and return any matches or flag errors in the regular expression. 91 | 92 | - **FTP Program** – A file transfer program which can transfer files back and forth from a remote web sever. 93 | 94 | - **Get Atomic Time from Internet Clock** – This program will get the true atomic time from an atomic time clock on the Internet. There are various clocks across the world. Do a search for a list of them. 95 | 96 | - **Chat Application (IRC or MSN Style)** – Create a chat application that can create simple chat rooms like on Internet Relay Chat (IRC) or a more direct chatting style like MSN. For added complexity, create your own protocol to facilitate this chatting. 97 | 98 | - **Fetch Current Weather** – Get the current weather for a given zip/postal code. 99 | 100 | - **P2P File Sharing App** – Create a program like LimeWire, FrostWire, Bearshare, or a torrent style application. 101 | 102 | - **Port Scanner** – Enter an IP address and a port range where the program will then attempt to find open ports on the given computer by connecting to each of them. On any successful connections mark the port as open. 103 | 104 | - **Mail Checker (POP3 / IMAP)** – The user enters various account information include web server and IP, protocol type (POP3 or IMAP) and the application will check for email on several accounts at a given interval. 105 | 106 | - **Packet Sniffer** – A utility program that will read packets coming in and out of the machine along with related information like destination and payload size. 107 | 108 | - **Country from IP Lookup** – Enter an IP address and find the country that IP is registered in. 109 | 110 | - **Whois Search Tool** – Enter an IP or host address and have it look it up through whois and return the results to you. 111 | 112 | - **Zip / Postal Code Lookup** – Enter a zip or postal code and have it return which city/cities that are in that zip code. 113 | 114 | - **Remote Login** – Create a remote desktop style application which can see and control the remote computer (given you have permissions). It may require the use of your own private network and a second computer to test with. 115 | 116 | - **Site Checker with Time Scheduling** – An application that attempts to connect to a website or server every so many minutes or a given time and check if it is up. If it is down, it will notify you by email or by posting a notice on screen. 117 | 118 | - **Small Web Server** – A simple web server that can serve HTML files that contain Javascript and other forms of non-code executing code. Added complexity would be to try and implement streaming video, create a server-side language, or serve up other stream types. 119 | 120 | - **Web Bot** – An automated program which carries out tasks on the web including checking websites, page scraping, and summarization of data or web posting. 121 | 122 | - **Product Inventory Project** – Create an application which manages an inventory of products. Create a product class which has a price, id, and quantity on hand. Then create an inventory class which keeps track of various products and can sum up the inventory value. 123 | 124 | - **Movie Store** – Manage video rentals and controls when videos are checked out, due to return, overdue fees and for added complexity create a summary of those accounts which are overdue for contact. 125 | 126 | - **Airline / Hotel Reservation System** – Create a reservation system which books airline seats or hotel rooms. It charges various rates for particular sections of the plane or hotel. Example, first class is going to cost more than coach. Hotel rooms have penthouse suites which cost more. Keep track of when rooms will be available and can be scheduled. 127 | 128 | - **Student Grade Book Application** – Keep track of students (with a student class that has their name, average, and scores) in a class and their grades. Assign their scores on tests and assignments to the students and figure out their average and grade for the class. For added complexity put the students on a bell curve. 129 | 130 | - **Bank Account Manager** - Create a class called “Account” which will be an abstract class for three other classes called “CheckingAccount”, “SavingsAccount” and “BusinessAccount”. Manage credits and debits from these accounts through an ATM style program. 131 | 132 | - **Library Catalog** – Create a book class with a title, page count, ISBN and whether or not it is checked out or not. Manage a collection of various books and allow the user to check out books or return books. For added complexity generate a report of those books overdue and any fees. Also allow users to put books on reserve. 133 | 134 | - **Create A Progress Bar for Downloads** – Create a progress bar for applications that can keep track of a download in progress. The progress bar will be on a separate thread and will communicate with the main thread using delegates. 135 | 136 | - **Download Manager** – Allow your program to download various files and each one is downloading in the background on a separate thread. The main thread will keep track of the other thread’s progress and notify the user when downloads are completed. 137 | 138 | - **Chat Application (remoting style)** – Create a chat application which allows you to connect directly to another computer by their IP through the use of remoting and allow your “server” application handle multiple incoming connections. 139 | 140 | - **Bulk Thumbnail Creator** – Picture processing can take a bit of time for some transformations. Especially if the image is large. Create an image program which can take hundreds of images and converts them to a specified size in the background thread while you do other things. For added complexity, have one thread handling re-sizing, have another bulk renaming of thumbnails etc. 141 | 142 | - **WYSIWG (What you see is what you get) Editor** – Create an editor online which allows people to move around elements, create tables, write text, set colors etc for web pages without having to know HTML. Think Dreamweaver or FrontPage but for online sites. If you need an example check out the DIC page used to create a post. 143 | 144 | - **Web Browser with Tabs** – Create a small web browser that allows you to navigate the web and contains tabs which can be used to navigate to multiple web pages at once. For simplicity don’t worry about executing Javascript or other client side code. 145 | 146 | - **Page Scraper** – Create an application which connects to a site and pulls out all links, or images, and saves them to a list. For added complexity, organize the indexed content and don’t allow duplicates. Have it put the results into an easily searchable index file. 147 | 148 | - **File Downloader** – An application which can download various objects on a page including video streams or all files on a page. Great for pages with a lot of download links. 149 | 150 | - **Telnet Application** – Create an application which can telnet into servers across the internet and run basic commands. 151 | 152 | - **Online White Board** – Create an application which allows you and friends to collaborate on a white board online. Draw pictures, write notes and use various colors to flesh out ideas for projects. For added complexity try building in picture tubes. 153 | 154 | - **Bandwidth Monitor** – A small utility program that tracks how much data you have uploaded and downloaded from the net during the course of your current online session. See if you can find out what periods of the day you use more and less and generate a report or graph that shows it. 155 | 156 | - **Bookmark Collector and Sorter** – An application that you can put online for people to upload bookmarks to, have it sort them, remove duplicates and export the entire list as a Firefox/IE/Safari bookmark file. For added complexity see if you can group the bookmark items into various folders. 157 | 158 | - **Password Safe** – A program which keeps track of passwords for sites or applications and encrypts them with a key so that no one can read them. 159 | 160 | - **Media Player Widget for iGoogle** – Create an iGoogle gadget which can play various song lists from your computer as well as share one song daily. Perhaps let people look up which songs you have listened to lately. 161 | 162 | - **Text Based Game Like Utopia** – Create a simple text based RPG like Utopia where you can create a civilization, gather resources, forge alliances, cast spells and more on a turn based system. See if you can dominate the kingdom. 163 | 164 | - **Scheduled Auto Login and Action** – Make an application which logs into a given site on a schedule and invokes a certain action and then logs out. This can be useful for checking web mail, posting regular content, or getting info for other applications and saving it to your computer. 165 | 166 | - **E-Card Generator** – Make a site that allows people to generate their own little e-cards and send them to other people. Can use flash or not. Use a picture library and perhaps insightful mottos or quotes. 167 | 168 | - **Content Management System** – Create a content management system (CMS) like Joomla, Drupal, PHP Nuke etc. Start small and allow for the addition of modules/addons later. 169 | 170 | - **Template Maker** – Make a site or application which allows the user to enter in various color codes, elements, dimensions and constructs a template file for a particular application like PHPBB, Invision Board, MySpace, Bebo, etc. 171 | 172 | - **CAPTCHA Maker** – Ever see those images with letters a numbers when you signup for a service and then asks you to enter what you see? It keeps web bots from automatically signing up and spamming. Try creating one yourself for online forms. If you use PHP, take a look at the image functions of GD. 173 | 174 | - **Quiz Maker** – Make an application which takes various questions form a file, picked randomly, and puts together a quiz for students. Each quiz can be different and then reads a key to grade the quizzes. 175 | 176 | - **Quick Launcher** – A utility program that allows the user to assign various programs to icons on a toolbar. Then by clicking the buttons they can quickly launch the programs with parameters etc. Much like Windows quick launch. 177 | 178 | - **File Explorer** – Create your own windows explorer program but with added features, better searching, new icons and other views. 179 | 180 | - **Sort File Records Utility** – Reads a file of records, sorts them, and then writes them back to the file. Allow the user to choose various sort style and sorting based on a particular field. 181 | 182 | - **Add Transactions In File and Find Averages** – Read in a file of financial transactions, group them into accounts, add up fields or find averages or apply credits and debits to each account. 183 | 184 | - **Create Zip File Maker** – The user enters various files from different directories and maybe even another computer on the network and the program transfers them and zips them up into a zip file. For added complexity, apply actual compression to the files. 185 | 186 | - **PDF Generator** – An application which can read in a text file, html file or some other file and generates a PDF file out of it. Great for a web based service where the user uploads the file and the program returns a PDF of the file. 187 | 188 | - **Bulk Renamer and Organizer** – This program will take a series of files and renames them with a specific filename filter entered by the user. For instance if the user enters myimage###.jpg it will rename all files with a “minimum” of three numbers like “myimage001.jpg”, “myimage145.jpg” or even “myimage1987.jpg” since 1987 has at least three numbers. 189 | 190 | - **Mp3 Tagger** – Modify and add ID3v1 tags to MP3 files. See if you can also add in the album art into the MP3 file’s header as well as other ID3v2 tags. 191 | 192 | - **Log File Maker** – Make an application which logs various statistics in response to given events. This can be something that logs what an application does, what the system is doing, when something like a file changes etc. 193 | 194 | - **Excel Spreadsheet Exporter** – Create an online application which can read in a file and create an Excel Spreadsheet to export back. This can be through CVS or other file formats. For added complexity, see if you can create formula fields as well. 195 | 196 | - **RPG Character Stat Creator** – Make a program which will randomly create a character’s stats based on several rules set forth by the user. Have it generate a class, gender, strength/magic/dexterity points, and extra abilities or trades. Have it save it to a file which can then be printed out by a dungeon master. 197 | 198 | - **Image Map Generator** – Image maps are those images on the web that have multiple hover points that link to different pages. Such images may include maps or splash pages. See if you can make one where the user specifies an image, clicks hotspots in the image and specify links. It will then generate the HTML code to a file that the user can then copy and paste into their website to make the image map. 199 | 200 | - **File Copy Utility** – Create a utility that can do bulk file copying and backups of other files. 201 | 202 | - **Code Snippet Manager** – Another utility program that allows coders to put in functions, classes or other tidbits to save for use later. Organized by the type of snippet or language the coder can quickly look up code. For extra practice try adding syntax highlighting based on the language. 203 | 204 | - **Versioning Manager** – Create your own versioning system for code files. Users are forced to check out items and lock items during reading and writing so that a group of programmers are not accidentally overwriting code files on one another. 205 | 206 | - **SQL Query Analyzer** – A utility application which a user can enter a query and have it run against a local database and look for ways to make it more efficient. 207 | 208 | - **Remote SQL Tool** – A utility that can execute queries on remote servers from your local computer across the Internet. It should take in a remote host, user name and password, run the query and return the results. 209 | 210 | - **Baseball / Other Card Collector** – Create an online application for keeping track of a collection of cards. Let the user enter all cards in a set, check off which ones they have, which ones they need and generate lists of cards they are looking for. For extra complexity, have it sum up sets and generate reports on how close they are of completing sets or the current value of a set. 211 | 212 | - **Report Generator** – Create a utility that generates a report based on some tables in a database. Generates a sales reports based on the order/order details tables or sums up the days current database activity. 213 | 214 | - **Database Backup Script Maker** – A program which reads a database’s objects, relationships, records and stored procedures and creates a .sql file which can then be imported into another database or kept as a backup file to rebuild the database with. 215 | 216 | - **Event Scheduler and Calendar** – Make an application which allows the user to enter a date and time of an event, event notes and then schedule those events on a calendar. The user can then browse the calendar or search the calendar for specific events. For added complexity, allow the application to create reoccurrence events that reoccur every day, week, month, year etc. 217 | 218 | - **Budget Tracker** – Write an application that keeps track of a household’s budget. The user can add expenses, income, and recurring costs to find out how much they are saving or losing over a period of time. For added complexity allow the user to specify a date range and see the net flow of money in and out of the house budget for that time period. 219 | 220 | - **Address Book** – Keep track of various contacts, their numbers, emails and little notes about them like a Rolodex in the database. For extra complexity, allow the user to connect to a website publish their address book based on specific options the user has set. 221 | 222 | - **TV Show Tracker** – Got a favorite show you don’t want to miss? Don’t have a PVR or want to be able to find the show to then PVR it later? Make an application which can search various online TV Guide sites, locate the shows/times/channels and add them to a database application. The database/website then can send you email reminders that a show is about to start and which channel it will be on. 223 | 224 | - **Travel Planner System** – Make a system that allows users to put together their own little travel itinerary and keep track of the airline / hotel arrangements, points of interest, budget and schedule. 225 | 226 | - **Entity Relationship Diagram (ERD) Creator** – A program that allows the user to put together ERD diagram and save it or have it generate some basic SQL syntax to give them a jump start. 227 | 228 | - **Database Translation (MySQL <-> SQL Server)** – A simple utility that reads in from one database and constructs SQL compliant with another database. Then saves that to another database. One popular transition would be to and from MySQL server for databases like SQL Server and Oracle. 229 | 230 | - **Web Board (Forum)** – Create a forum for you and your buddies to post, administer and share thoughts and ideas. 231 | 232 | 233 | Graphics and Multimedia 234 | ----------------------- 235 | 236 | 237 | 238 | **Slide Show** – Make an application that shows various pictures in a slide show format. For extra complexity try adding various effects like fade in/out, star wipe and window blinds transitions. 239 | 240 | **Mind Mapper** – Allow the user to put down ideas and quickly brainstorm how they are related into a mind map. The goal here is speed so let the user quickly write in an idea and drag it around in a visual map to show relationships. 241 | 242 | **Import Picture and Save as Grayscale** – A utility that sucks the color right out of an image and saves it. You could add more including adjusting contrast, colorizing and more for added complexity. 243 | 244 | **Stream Video from Online** – Try to create your own online streaming video player. 245 | 246 | **Mp3 Player (and Other Formats)** – A simple program for playing your favorite music files. For extra complexity see if you can add in playlists and an equalizer. 247 | 248 | **Bulk Picture Manipulator** – This program will take in a directory of pictures and apply a certain effect to them whether it be reducing color count, changing its format, or alter file attributes. For something extra try to see if you can also create a system to tag them. 249 | 250 | **CD Burning App** – Create a utility that simply burns data to a CD. 251 | 252 | **YouTube Downloader** – A program which can download videos to your hard drive from youtube.com. Save the files in various formats including FLV and AVI. 253 | 254 | **Wallpaper Manager** – Make a program which keeps track of your favorite wallpapers, changes them regularly and maybe even re-sizes them for your resolution (aka tiles one and stretches another) 255 | 256 | **Screen Capture Program** – Make a utility that will simply capture a frame from your web cam. For added complexity see if you can also build in emailing functionality. 257 | 258 | **Image Browser** – This application is used to view various image files on your computer from PNG, GIF, JPG to BMP, TIFF etc. 259 | 260 | **Traffic Light Application** – See if you can make your own street light application and then put it into an intersection scenario. Don’t let any cars run the lights and crash into one another! 261 | 262 | **MP3 to Wav Converter** – MP3 is essentially compressed wav format. See if you can translate it back into wav so that some other sound editing programs can work with the wav file itself. Keep in mind that 1 MB of MP3 is relative 10MB wav. 263 | 264 | **Signature Maker** – Ever seen those web board posts where someone has a generated signature made up? See if you can make a program that allows the user to specify a background, text, colors and alignment to make their own signatures or userbars. 265 | 266 | **Screen Saver** – Make a screensaver program that will run while your computer sits idle. To make a simple one use some standard pictures and then for added complexity try a 3D object that spins around the screen and bounces off the sides. 267 | 268 | **Watermarking Application** – Have some pictures you want copyright protected? Add your own logo or text lightly across the background so that no one can simply steal your graphics off your site. Make a program that will add this watermark to the picture. 269 | 270 | **Turtle Graphics** – This is a common project where you create a floor of 20 x 20 squares. Using various commands you tell a turtle to draw a line on the floor. You have move forward, left or right, lift or drop pen etc. For added complexity, allow the program to read in the list of commands from a file. Do a search online for “Turtle Graphics” for more information. 271 | 272 | 273 | 274 | 275 | Games 276 | ------ 277 | 278 | 279 | **Battleship** – Create two game boards and let each player place a number of war ships. Each player can’t see the other person’s board. They then take turns firing at one another by guessing one of the board squares. If the square they guess contains part of a ship, it is a hit. Otherwise it is a miss. They sink a ship when all squares containing that particular ship have been uncovered. The player wins when all their opponents’ ships have been sunk. 280 | 281 | **Chess and Checkers** – Simply put a game of chess or checkers. Try to make it playable online and if you can use a graphical user interface that can also undo or redo a step as well as keep a history of moves for replay. 282 | 283 | **Hangman** – Randomly select a word from a file, have the user guess characters in the word. For each character they guess that is not in the word, have it draw another part of a man hanging in a noose. If the picture is completed before they guess all the characters, they lose. 284 | 285 | **Crossword Puzzle** – Create a crossword puzzle which links words together on common letters. Provide a list of clues for each word and let the user enter fill in the words until the entire crossword is filled in. 286 | 287 | **Frogger** – Get your frog across the river and lanes of traffic by either jumping on logs and lily pads rushing by at different speeds or avoid the automobiles which are also moving at various speeds. Based on the old arcade game.. 288 | 289 | **Tetris** – Tile-matching puzzle video game. Arrange incoming tiles such that a row is formed, which once formed disappears. Get points by making as many rows as possible. Introduce levels. 290 | 291 | **Scarne's Dice** - Turn-based dice game where players score points by rolling a die and then: if they roll a 1, score no points and lose their turn, if they roll a 2 to 6: add the rolled value to their points choose to either reroll or keep their score and end their turn. The winner is the first player that reaches (or exceeds) 100 points. 292 | 293 | 294 | Research Projects 295 | ------------------ 296 | 297 | 298 | - An Efficient Fixed Noise Removal Method from Images using Dual Tree Complex Wavelet Transform. 299 | 300 | - Software Architecture paradigm for multi core hardware 301 | 302 | - Secure Network Administration System 303 | 304 | - Image Cryptography 305 | 306 | - Image Authentication Using Stochastic Diffusion 307 | 308 | - Handling Multiple Failures in IP Networks Through Localised On-Demand Link State Routing 309 | 310 | - Dynamic Signature Verification using Statistics Analysis. 311 | 312 | - A Practical Topology Control Algorithm for Ad-Hoc Networks. 313 | 314 | - Efficient Algorithms for Mining High Utility Item sets from Transactional Database 315 | 316 | - An Efficient and Secure Dynamic Auditing Protocol for Data Storage in Cloud Computing 317 | 318 | - Face Recognition Using Eigen Values 319 | 320 | - Synchronized Data Transmission Using TCP Sockets. 321 | 322 | - Oruta: Privacy-Preserving Public Auditing for Shared Data in the Cloud. 323 | 324 | - MADES: Embedded Systems Engineering Approach in the Avionics Domain. 325 | 326 | - Operating System Challenges for GPU Resource Management 327 | 328 | - Introducing Replace-ability into web services composition 329 | 330 | - A System to Filter Unwanted Messages from OSN user Walls 331 | 332 | - Distributed Cooperative Caching in Social Wireless Networks 333 | 334 | - Location Based Spatial Queries Processing 335 | 336 | - An efficient information retrieved approach for collaborating cloud computing 337 | 338 | - An Adaptive Framework for Autonomic Person Identification System using Pervasive Computing 339 | 340 | - Data mining for Big Data 341 | 342 | - Mobile Computing Device as Tools for College Student Education a case on Flash Cards Application 343 | 344 | - Quantum Cryptography: An Emerging Technology in Network Security 345 | 346 | - Efficient Security Solution for Privacy-Preserving Cloud Services. 347 | 348 | - A System to Filter Unwanted Messages from OSN User Walls. 349 | 350 | - Unprivileged Black Box Detection of User-Space Key Loggers 351 | 352 | - A Genetic Programming Approach to Record Reduplication. 353 | 354 | - Alma Mater-An Application on Information Sharing 355 | 356 | - A Collaboration Masterming Schemer Software 357 | 358 | - A Cross Layer Backpressure Architecture for Wireless Multihop Networks 359 | 360 | - Efficient Privacy Preserving Authentication in Wireless Mobile Networks 361 | 362 | - Secure Data Retrieval for Decentralized disruption-Tolerant Military Networks. 363 | 364 | - Fast Nearest Neighbour Search with Keywords. 365 | 366 | - Expressive, Efficient, and Revocable Data Access Control for Multi-Authority Cloud Storage 367 | 368 | - Balancing Performance, Accuracy, and Precision for Secure Cloud Transactions 369 | 370 | - Consistency as a Service: Auditing Cloud Consistency 371 | 372 | - An advanced method for Generating Association rules using Real values. 373 | 374 | - A classical decision tree building algorithm to handle data tuples with uncertain values. 375 | 376 | - Mining Association rules using IMine Index 377 | 378 | - An Efficient Representative Object Based Clustering Technique Using Density Based Algorithm 379 | 380 | - Auto Detection Of Association Rule between Name And pseudonym from the Web using Anchor 381 | 382 | - New Interactive Approach To Prune And Filter Discovered Rules Using Ontologies 383 | 384 | - Load Balancing Model Based on Cloud Partitioning For the Public Cloud. 385 | 386 | - Incremental Information Extraction Using Relational Databases. 387 | 388 | - A System to Filter Unwanted Messages from OSN User Walls. 389 | 390 | - E-compiler 391 | 392 | - Compiler phases visualization 393 | 394 | - Visualization of Data Structures in Java 395 | 396 | - Detection of Routing Misbehavior in MANETS Project Source Code 397 | 398 | - Signature Based Indexing Project 399 | 400 | - Secure Data Transmission Project 401 | 402 | - RSS Reader Project in Java 403 | 404 | - Information retrieval and knowledge management system 405 | 406 | - Dynamic Source Routing Protocol Project 407 | 408 | - Regular expression engine 409 | 410 | - Timetabling lectures 411 | 412 | - Detecting Targeted Malicious Email 413 | 414 | - Fault Prediction in Clusters 415 | 416 | - Building two node Failover Cluster 417 | 418 | - Mining Association Rules between Sets of Items in Large Databases using Apriori Algorithm 419 | 420 | - Bayes Theorem for Disease diagnostics 421 | 422 | - Message Authentication in Computionally Constrained Environments 423 | 424 | - Tender Management System 425 | 426 | - Smart Traffic Management System 427 | 428 | - A Community Based Approach to Customizing Web Search 429 | 430 | - Cooperative Work for Agent-Based Heterogeneous Information Integrated Information System 431 | 432 | - Detecting and Preventing IP-spoofed Distributed DoS Attacks 433 | 434 | - Implementation of Sliding Window Protocols in Networks 435 | 436 | - Implementation of Congestion Control Protocols in Networks 437 | 438 | - Implementation of Routing Protocols in Networks 439 | 440 | - Automated Real-Time Detection of Potentially Suspicious Behavior in Public Transport Areas 441 | 442 | - Automated Student Performace Analysis 443 | 444 | - Automatic Accident Detection And Ambulance Rescue With Intelligent Traffic Light System 445 | 446 | - Bandwidth Recycling in 802.16 Networks 447 | 448 | - A Combine Approach to ensure data security in cloud computing 449 | 450 | - A model to authenticate request for online banking transactions 451 | 452 | - Athuentication for session password using color and image 453 | 454 | - Self Protection in a Clustered Distributed System 455 | 456 | - Efficient and Effective Duplicate Detection in Hierarchical Data 457 | 458 | - Efficient Similarity Search over Encrypted Data 459 | 460 | - Payment Extraction Tool - (SAP/ABAP) 461 | 462 | - Share Travel – Web Application - .NET/JAVA/PHP 463 | 464 | - Crypt Analysis Between Different Languages – (PHYTHAIN) 465 | 466 | - Multiplayer 3D Strategic Game 467 | 468 | - Quadcopter 469 | 470 | - My Music Tutor 471 | 472 | - Internet Transaction Security with Fingerprint Recognition 473 | 474 | - Image Analyzer - iLocator 475 | 476 | - Tourism Based Social Networking Service 477 | 478 | - Image Analyzer 479 | 480 | - Knowledge Discovery Over Telugu Songs 481 | 482 | - aGate Portal for Inventory Management 483 | 484 | - Time-travel in the Internet 485 | 486 | - Creating Your Wwn iPhone/Android Phone/Facebook Multimieda Applications 487 | 488 | - Finding Shortest Path in UST 489 | 490 | - In-network Data Processing for Wireless Sensor Networks 491 | 492 | - Lego-robot Guided by Wifi Devices 493 | 494 | - Interactive 3D Maps 495 | 496 | - Flood Prediction 497 | 498 | - Interesting Education Applications for the Tablet PC platform 499 | 500 | - Artificial Intelligence and Location Based Services 501 | 502 | - Time Series-based Approach for Predicating Stock Data 503 | 504 | - P2PMoD Peer-to-Peer Movie-on-Demand 505 | 506 | - Fastfood e-Order System 507 | 508 | - Green Bus 509 | 510 | - Machine Learning for Computer Security Application 511 | 512 | - Application of Image Processing Techniques to Tissue Texture Analysis and Image Compression 513 | 514 | - Mobile Marketing Management System 515 | 516 | - A Collaborative Pervasive Surveillance System Based On Low Bit-Rate Video 517 | 518 | - Fault-Tolerance Analysis of Sorting Networks 519 | 520 | - Intelligent Interface for Database Systems 521 | 522 | - Optimal Selection as an Optimization Problem over Rule-Based Constrains 523 | 524 | - Mobile Banking Project in Java 525 | 526 | - Internet Management System in Java 527 | 528 | - Simple CRM in Java 529 | 530 | - Online Magazine in Java 531 | 532 | - Patient Management System 533 | 534 | - Distributed Sales Management with Java 535 | 536 | - Development of a neural network applet set using ENCOG 537 | 538 | - An email filter to cut out spam 539 | 540 | - Interactive Evolution of Behaviour using ANN & AI 541 | 542 | - Determining the Language of a Text Using a Neural Network 543 | 544 | - Investigating the Performance of a Perceptron and an MLP 545 | 546 | - Recognition of Handwritten Characters 547 | 548 | - A system to visualise music 549 | 550 | - Construction of deterministic finite-state automata 551 | 552 | - Computer-aided learning (CAL) software application for Higher Education 553 | 554 | - Realistic software testing without real-world data 555 | 556 | - Identifying similar pieces of music ( Music Piracy) 557 | 558 | - Parallel processing implementation of the Mandelbrot set 559 | 560 | - Development of a Natural Language Interface to a Database 561 | 562 | - Timetabling Lectures, Lecturers and Rooms 563 | 564 | - Application of the Google API to detect plagiarism 565 | 566 | - Avmon: Optimal And Scalable Discovery Of Consistent Availability Monitoring Overlays For Distributed Systems 567 | 568 | - Dynamic Search Algorithm In Unstructured Peer-To-PeerNetworks 569 | 570 | - Maintaining Colored Trees For Disjoint Multipath Routing Under Node Failures 571 | 572 | - Reliable Routings In Networks With Generalized Link Failure Events 573 | 574 | - A Tree-Based Peer-To-Peer Network With Quality Guarantees 575 | 576 | - Measuring Capacity Bandwidth Of Targeted Path Segments 577 | 578 | - Distributed Cache Architecture With Snooping For Qos Routing In LargeNetworks. 579 | 580 | - Performance Of A Speculative Transmission Scheme For Scheduling- LatencyReduction 581 | 582 | - Evaluation Of Efficiency In The Combating Network Packet Losses Using Fec(Forward Error Correction) Coding 583 | 584 | - Rppm(Rectified Probabilistic Packet Marking ) Algorithm For The Packets 585 | 586 | - Efficient&Secure Content Processing Using Intermediaries 587 | 588 | - Distributed Cache Architecture For Routing In Hierarchical Qos- CapableNetworks. 589 | 590 | - Preventing Network Data Congestion Collapse Using Network Border Patrol 591 | 592 | - A Simplified Anonymous Dynamic Source Routing Protocol. 593 | 594 | - Three Party Quantum Key Distribution Protocol With Implicit Authentication 595 | 596 | - Implementation Of Rsa To Secure The Data Over A Group 597 | 598 | - Spatial Query Processing Over Lan 599 | 600 | - An Acknowledgement Approach For The Detection Of Routing Misbehavior 601 | 602 | - Dynamic Load Balancing Mechanism For A Parallel System 603 | 604 | - Rate And Delay Guarantees Provided By Clos Packet Switches With Load Balancing. 605 | - Screen Shot Grabber 606 | - Motion Detection and Instant Alerter 607 | - ava Based Fire Alarm System 608 | - Enhanced Search Engine 609 | - Dynamic Signature Verification Using Pattern Recognition 610 | - Distributed Load Sharing In Mobile Environment 611 | - Disease Identification using WBC Count 612 | - Database Synchronization 613 | - Data Mining For Credit Card Application Processing 614 | - Data Leakage Detection 615 | - Channel Diversity in Wireless Mesh Network 616 | - Blog Mining and Emotion Argumentation 617 | - Automatic Alert Alarming For Security Systems 618 | - Automated Parking System using RFID Technology 619 | - Aadhaar Plus 620 | - Mobile Recharging With Banking Transaction Using SMS 621 | - Gesture Recognition System using Privacy 622 | - Email Flyer 623 | - Content Base Mail Classification 624 | - Biometric Authentication System Using the Human Ear 625 | - Battery Optimizer for Android Mobile Devices 626 | - Android Application for Call Taxi 627 | - Advanced 3D Maps for Personal Digital Assistant 628 | - Accessing a Network Using Secure Mobile Communications 629 | - Access My PC 630 | - 3D Graphics Library for Mobile Applications 631 | - Face Detection Using Template Matching 632 | - Load Shedding In Mobile Systems Using Mobiqual 633 | - Smart Card Reader Using Mifare Technology 634 | - Bluetooth Home Automation 635 | - Creepy Crawler System 636 | - ATM Reporting system 637 | - E-Mail Campaign System 638 | - Mingle Box 639 | - Trade Service Engine 640 | - SMTP Mail Server 641 | - Virtual Shopping 642 | - Value card – Smart card based Loyalty 643 | - Universal Web Based File Coordinator 644 | - UA Portal 645 | - Trackerz 646 | - Survey Logics 647 | - Pro-net Communication 648 | - Implementation of Security in WAN 649 | - Implementation of OSPF on IPV6 650 | - Support Vector Machines For Face Recognition 651 | - Web based Applications for Insurance Services 652 | - Cold Boot Attack 653 | - Virtual Class Rooms 654 | - Electronic Mail Server 655 | - SUDOKU 656 | - Bluetooth Hotspot 657 | - Result Alert System With E-mail and SMS 658 | - Bug Tracking System 659 | - Partial Face Recognition Using Core features Of The Face 660 | - Face Recognition in e-attendance 661 | - Online Examination System 662 | - Chat Server 663 | - Bandwidth-Allocation-for-Distributed-Algorithm 664 | - Early Congestion Indication 665 | - Intruder Detection System Over Abnormal Internet Sequence 666 | - Log Reader Based Code Analyzer 667 | - Multi-Tasking Sockets 668 | - Network Monitoring for Remote Task Executor 669 | - Audio Manager 670 | --------------------------------------------------------------------------------