Transferred from: http://mp.weixin.qq.com/s?__biz=MzA4OTE4MjIwMA==&mid=2666146030&idx=1&sn= 765c206ffcb28822674376985cdf9393&scene=23&srcid=0801njfvdjozzohkpc1bgnn4#rd
I often see someone posting to ask about the project ideas, but also see a lot of replies, I myself also back to some common projects. But I think only listing 32 is not enough, so on the collection and this project list, we want to find simple programming project learning practiced hand words, can collect and spread this article. These projects are not paper-level, but they are meant to be inspired.
Below you will see more than 120 project ideas, all of which I got through brainstorming. I divided it into 10 categories according to the topic, but some projects actually covered more than one topic.
Text manipulation
Reverses the string--enters a string, reverses it and outputs it.
Latin Pig Word Game-this is an English language game. The basic rule is to move the letter of the first consonant of an English word to the ending and add the suffix-ay (for example, "banana" will become "Anana-bay"). You can learn more on Wikipedia.
Statistical vowel--enter a string that counts the number of vowels in the office. More complex points, the number of each vowel letter is counted.
Judge whether it is a palindrome--to determine whether the user input string is a palindrome. Palindrome refers to both positive and negative spellings are the same words, such as "racecar".
Count the number of words in the string--count the number of words in the string, and more complex words read out the string from one text and generate a statistical result of the number of words.
Text Editor-A notepad-type app that opens, edits, and saves text documents. Can increase the word highlighting and some other features.
RSS Feed Creator--you can read text from other sources and publish it in RSS or Atom format.
Real-time stock prices – you can check the current price of a stock. The user can set the data refresh frequency, the program will use green and Red arrows to indicate the stock price movement.
Guest Guestbook/Log-allows people to add comments or diaries, can set on/off comments, and can record each destination time. can also be made into a megaphone.
News and score announcer-a desktop app that collects news and game scores from the web and scrolls the results on the screen.
Astrological compass--use astrology to predict the daily journey.
Password SMS-Data encryption can be decrypted and can be sent to a friend.
Pick a gift for you-enter a bunch of presents you might send, and when someone has a birthday, the program randomly chooses the same gift. You can also add an extra feature that tells you where to get this gift.
HTML Builder-Converting TEXT documents to HTML files is useful for making Web page HTML documents.
Cd-key Generator--use an algorithm to generate a unique key. Software developers can use it as a software activator.
Regular Expression Query tool--the user can enter a text and enter a regular expression in another control. The run will return a match or an error in the regular expression.
Internet
FTP Tool--Interact with remote Web server files.
Atomic Clock School-synchronizing atomic clock time from the Internet. There are many atomic clocks all over the world, and they can all be listed.
Chat app (IRC or MSN style)-chat room software like IRC or live chat software such as MSN. More complicated, you can make a set of your own transport protocol for chat.
Get current weather-get current weather conditions in an area.
App-to-peer file sharing apps-like LimeWire, FrostWire, BearShare, or torrent-style apps.
Port Scanner-Enter an IP address and port range, and the program will try the ports within the interval, and mark the port as open if it can connect successfully.
e-mail Check tool (POP3/IMAP)-Users enter some account information, including server, IP, protocol type (POP3 or IMAP), and the application will check the mailbox under that account every time.
Packet sniffer-detects incoming and outgoing packets on your computer for information such as destination and size.
IP Registration Query-Enter an IP address to inquire where the IP is registered.
Whois query tool-Enter an IP or host address to query through WHOIS and return the results.
Postcode query-Enter the ZIP code, return the name of the region using the ZIP code.
Remote login-remotely log in to the desktop Type app to view and control remote computers (if you have access). You may need your own network and two computers for testing.
Website Timing Checker-try to connect to a website or server at regular intervals or at a predetermined time to check if it can be connected, or notify you by email or desktop notification if it is not connected.
Small Web server-a simple version of a Web server that can hold HTML files containing JavaScript and other forms of code. If it's more complicated, you can try streaming video, create a server-side language, or other types of streaming media.
Web Spider-A program that automates various tasks on a Web page, including website checking, page fetching, data summarization, and network postal.
Class
Product inventory Management--Create an application that manages product inventory. Create a product class that contains the price, ID, inventory quantity. Then set up an inventory class, record a variety of products and can calculate the total value of inventory.
Movie Shop-Manage videotape rentals, record loan time, expiry time, overdue fees. A bit more complicated can generate account reports for overdue users.
Airline/Hotel Reservation system – Create a booking system for a booking flight or hotel. Different flight seats and hotel room charges are not the same. First class, for example, is more expensive than economy class. The suites with loft are more expensive. Record when there is room available for booking.
Student performance Manager--Record a class of students (create a student class, record their name, average score, and test score) and their grade. The average score and grade are calculated based on the scores of the students ' tests and assignments. It's a bit more complicated to draw the data on the bell curve.
Bank account Steward--Create an abstract class called accounts, with three subclasses of "Checkingaccount", "SavingsAccount", and "BusinessAccount". Manage the borrowing of these accounts through an ATM-like program.
Collection Catalogue-Create a book class that records the title, Number of pages, ISBN, and whether to lend. Use it to manage a variety of books, allowing users to make loan and return operations. If you are more complicated, you can generate reports of overdue books and overdue expenses. You can also let the user make an appointment operation.
Thread handling
Download progress Bar--Create a progress bar that represents the download progress. A progress bar is operated by a separate thread that communicates with the main thread through a delegate.
Download Manager-Allows the program to download several files simultaneously, each with a separate thread for background downloads. The main thread will follow the download progress and notify the user when the download is complete.
Chat software (remote chat)-a chat software that allows you to connect directly to another computer via IP, and also allows your "server" program to handle multiple request connections.
Batch thumbnail Builder--it takes a lot of time to process a picture conversion, especially when the picture is large. Do a picture processing program that allows you to do other things in the background line thread hundreds of images into a certain size picture. If you are a bit more complicated, you can scale with one thread and rename the thumbnail with another thread.
Web Apps
WYSIWYG Editor – Create an online editor that allows users to move elements, create tables, write text, set colors, and users don't have to understand HTML. Just like Dreamweaver or FrontPage. If you need an example, you can refer to dic.
Paging Browser--Create a small web browser that can be paged to browse several pages at the same time. Do not consider JavaScript or other client-side code to simplify a point.
File Downloader-This program can download various resources, including videos and other files, from the Web page. For pages that have many download links.
Remote login-Create a remote login application that can log in to the server over the network and can execute some basic commands.
Online Whiteboard-Make an online whiteboard program where you and your friends can do some work on the whiteboard, paint, write, and so on.
Bandwidth Monitor-This gadget can record how much data you've uploaded and downloaded online. You can try to make a report or chart to show the usage of each period.
Bookmark Collection Manager--this program allows users to upload bookmarks and sort them, remove duplicates, and generate bookmark files for use by Firefox/ie/safari. If you are more complicated, try to organize your bookmarks into different folders.
Password Vault-Used to record various passwords and encrypt them so that no one else can see them.
igoogle Media Player widget-make a igoogle widget that can be used to play a local music list or share a song every day. Maybe you can let others see what you have heard recently.
Text-based game--do a text RPG like Utopia, you can create a civilization, collect resources, co-cast alliances, cast spells, turn system. See if we can unify the kingdom.
Timed Automatic Login-a program can log in to a specified page at a predetermined time and perform a specific action, and then log out. Can be used to check mailboxes, publish regular content, and get information for other programs.
Electronic card generator-allows users to make their own electronic cards and send them to others. You can use flash or not. You can use a picture library, or you can add a profound aphorism.
Content Management Systems-content management systems like Joomala, Drupal, PHP nuke. From a simple start, slowly add other functions.
Template Maker--the site app allows users to enter various color codes, elements, and sizes to create template files for applications such as phpBB, Invision Board, and MySpace.
Verification code Generator-should be logged in there is a number with the letter of the verification code Picture it? This prevents automatic sign-in and spam ads. Try to do one yourself, if you use PHP, see the GD image function.
File
Test paper Generator--The program can randomly pick out different topics from a file to generate a test paper. Each paper can be different, by reading the answer to the score.
Quick Start-the tool can add small icons for individual programs and click on Small icons to run the program. Similar to Windows Quick Start.
File Manager--do a file manager, to add some new features, better search features, new icons, New look.
File record sorting tool--reads records from a file, sorts them, and writes them back to the file. Allows the user to select a sort style and sort keywords.
Generate financial transaction documents and calculate averages-read financial transactions into documents, categorize them according to their accounts, calculate total or average values for each purpose, and clarify lending data for each account.
ZIP file Generator--users enter files from different folders, and may also include files from other computers, and the program packages the files into a zip file. In a more complex way, these files are compressed when packaged.
PDF Generator--Generate PDF files from txt, HTML, or other files by reading the data. Can be made into a Web service, users upload files, return a PDF version.
Batch file name--The program processes some files in batches and renames them based on user-supplied filters. For example, if the user enters a filter of myimage###.jpg, a file name of at least 3 digits will be generated, such as Myimage001.jpg, Myimage145.jpg, even myimage1987.jpg, because 1987 also satisfies a condition that contains at least 3 digits.
MP3 Tag Generator--modifies the ID3v1 label of the MP3 file. You can also try adding ID3v2 tags to the head of the MP3 file, such as the album art tag.
Log File Generator-The program can log logs for a specified event. For example, what the program did, what the system was doing, and when the file was modified.
Excel paging Output--do an online program that can read the contents of a file to generate an Excel page. Can be done through CVS or other file formats. A little more complicated, see if you can create a formula field.
RPG Role Property Builder--a program to randomly assign attribute points to RPG characters, which can be used by the user to make some allocation rules. Can generate career, gender, Power/magic/Agility points, extra abilities or trade skills. Save the result as a file so that the dungeon owner can print it out when the team is running.
File Copy Tool-the tool can batch file copy and backup operations.
Database
SQL Query Analyzer--this tool allows the user to enter a query command that runs in the local database. Try to make it work more efficiently.
Remote SQL Tools--this tool allows you to perform query operations on a remote server over a network. It can receive remote host addresses, authenticate user names and passwords, execute queries, and return results.
Card Builder--Create an online application to record the collected cards. Allows users to enter a complete set of cards to see which ones are already available and which need to be collected. To increase complexity, you can also let users know how much less can be done, or have collected the value of a card.
Report Builder--the tool can generate a report based on a table in the database. For example, a sales report is generated based on the order form.
Database backup script Maker--the program can read objects, relationships, records, and steps of a database, generate a SQL file that can be imported into another database or as a backup file.
Memo-This program lets the user set a date and an event's time, event notes, and put them on the calendar. Users can view calendars and search for specific events. More complex, you can let users set recurring events, such as Daily, weekly, monthly, yearly and so on.
Budget recorder-The program can record household budgets. Users can add expenses, revenue, and calculate revenue and expenses over time. More complicated, let the user specify a time period to show the household income and expenditure during that time period.
Phone book--record various contacts and their numbers, mailboxes, notes. A bit more complicated, so that users can connect to the Internet to publish the phone book to a set of sites.
TV Show Recorder-do you have a TV show you don't want to miss? But without a VCR or if you want to find it and record it, then you can do a program to find a variety of online TV navigation sites, record the TV program name, play time, play channel, exists in the database. The database or website will send you an email to remind you that the program is about to start on a certain channel.
Travel planning system-the system allows users to manage travel routes, record flights and hotel arrangements, places of interest, budgets and timetables.
Entity Diagram Builder--a program that allows users to consolidate and save the entity diagram, or use it to generate some underlying SQL statements.
Database Translator (Mysql<->sql Server)--the tool can read data from database A, generate SQL statements used by database B, and store the data in database B. The more common is SQL Server and the MySQL server used by Oracle.
BBS-A forum for you and your friends to post, manage, share ideas and concepts.
Images and Multimedia
Slideshow-A program that displays various pictures as a slideshow. Additional effects can be made to increase the difficulty, such as progressive checkout, Star Erase, Window fade.
Mind Map-allows users to record ideas and quickly brainstorm these ideas into a mind map. The faster the better, so that the user can quickly write down the idea, and then drag it into the visual map, the relationship between the ideas to show.
Import pictures into grayscale-this tool will save the color on the picture. Additional features such as contrast adjustment and coloring can be added to increase complexity.
Online streaming video-try making an online streaming video player yourself.
MP3 player (and music player in other formats)--This applet is used to play your favorite music files. A bit more complicated, see if you can add a playlist function and a equalizer.
Batch image processing-The program can handle images in a folder uniformly, such as reducing image tones, converting formats, or modifying file attributes. You can also try adding labels to your pictures.
CD Burner-a tool that can easily burn CDs.
YouTube Downloader--you can download videos from youtube.com to your hard drive to support file formats including FLV and AVI.
Wallpaper management tool-to do a management wallpaper, you can regularly change the refresh wallpaper, but also for the resolution to zoom.
Screenshot program-To do a screenshot can be a tool, a bit more complex can be added to the function of forwarding mail.
Image Browser-This program can view pictures in various formats on your computer, such as PNG, GIF, JPG, BMP, TIFF, and so on.
Traffic lights-try to make a traffic light and put it in a scene that can be interacted with. Don't let the car run a red light or hit another car.
The Mp3-wav converter--mp3 format is essentially a compressed version of WAV. Try converting MP3 to WAV format for use by programs that can handle WAV format. Keep in mind that the 1MB MP3 is approximately equal to 10MB wav.
Signature Generator-Is there a generated signature on the web after someone's message has been read? Try to make a program that allows users to specify the background, text, color, and alignment to customize a signature file.
Screensaver-a screensaver that runs when your computer is idle. The simple version can use some standard pictures, complex version can make the screen to be able to wander the 3D object.
Watermark-Do you want to protect the copyright of your pictures? Add a logo or text to the picture so that someone else can't easily steal it from your site. Do a program to add watermarks to your images.
Turtle Map-Create a 20*20 lattice and command a turtle to draw a line on the grid. You can go forward, turn left, turn right, pick up or drop pens and so on. A bit more complicated, allowing the program to read a list of commands from a file. You can learn more about the Turtle map on the internet.
Game
Warships-Create two game panels, players on each side, placed on top of some warships, the player can not see the other side of the panel. Each ship occupies a few squares, the player takes turns attacking a lattice, if there is a boat on the grid, then hit the target, otherwise it is missing. When all the squares occupied by a ship were hit by the attack, the ship was sunk. Whoever first sinks the other warship will win.
Chess checkers-Chess or checkers games. You can try to make it online, use a graphical user interface to implement Undo, save the moves process, and play back.
Executioner--Randomly select a word from a file to let the player guess the letter in the word. Next to a hidden line of hanging painting, guess the wrong word, the painting will show a part. The player loses when all the pictures are displayed without guessing the whole thing.
Crossword puzzles-Create a crossword puzzle and provide a hint for each word, allowing the player to fill in all the correct words.
Frog Jump-Let the frog jump across the river or the road, the river to jump on the different speed of wood or water lilies on the leaves, cross the road to avoid the speed of different cars.
Programmer practiced Hand Project