1. Design a set of classes for a basic drawing program like MS paint. Your program should have vector graphics for circles, rectangles, squares and lines. It should allow the user to draw with a pencil or with a paintbrush. There should be a fill option that can either be a solid color or a gradient. The user should be able to select the color. 2. Design a ticket system like TicketMaster. Your ticketing system should be able to keep track of tickets for three types of events; theater, music and exhibits. A customer should be able to buy more than one ticket for an event and tickets fro more than one event at once. They should be able to save some tickets to buy later although there should be a limit on this. Some events have tickets with assigned seats, others do not. For some events with assigned seats, some seats are more expensive than others. 3. Design a postal service delivery software. People can send letters or packages with different priorities and shipping methods. Every item should have an address. If it does not have an address it should be returned to the sender. Each country has a main import post office where all mail from other countries comes in and is sorted. After mail is sorted at this office it gets shipped to the regional office where it is again sorted and then shipped to the local offices. At the local offices it gets sorted yet again and assigned to a postman to deliver. You should design a set of classes to represent this system. 4. Design a chat program. Your program should have a buddy list. This buddy list should contain the names of other users and can be divided into subgroups (lists of work friends, school friends, family, etc). The user should always appears either active, idle or offline and can set their status individually for each buddy list group. The program should have a group chat option. It should also be able to save chat logs. 5. Design a music service like Pandora. Your service should keep track of user accounts. Users can have any number of stations. When the program plays a song the user is given the option to say whether they like the song, dislike the song or do not care either way. The program should keep track of these likes and dislikes so it can use them to make better choices of songs to play in the future. 6. Design a photo album program. Your program should allow users to upload photos and organize them into albums. Each photo and album should be able to have a caption. Users should be able specify privacy settings on each album so that either nobody, a specified group or everybody can view their pictures.