Home

Awesome

1000_Projects

Mega List of practical projects that any one can solve in any programming language!


Contributing

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.

Solutions

You can find implementations of these projects in many other languages by other users in this repo.

Before committing make sure you follow all the instructions properly.

Graphics and Multimedia

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.

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.

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.

Stream Video from Online – Try to create your own online streaming video player.

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.

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.

CD Burning App – Create a utility that simply burns data to a CD.

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.

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)

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.

Image Browser – This application is used to view various image files on your computer from PNG, GIF, JPG to BMP, TIFF etc.

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!

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.

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.

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.

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.

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.

Games

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.

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.

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.

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.

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

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.

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.

Research Projects