Simulate a seeded, single elimination tennis tournament (or basketball, or soccer, or whatever). You have more latitude in a tournament simulation than in the fridge simulation; and it may be more fun and creative, but it may require more thinking. This will be written as if the subject is a tennis tournament; if you choose some other contest, adapt this to the area you choose.
Each player has a name, a ranking (i.e. their rank among all players), and two integer ability ratings: service and skill (these will be explained below). A tournament starts with all the players in a bracket by their seeds (as described in class). Each pair of players plays a match, and the winner advances to the next round. When a player loses a match they are out.
The winner of a match is the first player to win 3 sets. The winner of a set is the first to win 6 games and be at least 2 games ahead. The winner of a game (as you likely know) is the first to win 4 points and be ahead by at least 2.
int random = (int) (Math.random() * 100); // get a number >=0, <100
boolean itHappens = random < 70; // 70 times out of 100
if (itHappens)
doOneThing();
else doAnother();
Perhaps you would prefer to write a database program for some other area. For instance, perhaps you are interested in molecular biology and wish to build a catalog of human (or drosophila) genes and their interactions. Or perhaps you'd like to build a computer dating service. Or maybe you'd like to build an order taking and inventory system for an e-business. The possibilities are many.
If you'd like to design your own database program, then write up a proposal and I'd be happy to consider it. But, do it immediately!
There are many different problem solving strategies that people employ when programming. Here, problem solving is the behavior that one engages in when one does not know how to proceed.
Some of the most common debugging strategies are:
Ask an expert
This method can be very effective, but as your programming expertise grows, it is less and less effective. As programmers become proficient, fewer and fewer things actually stop them, and even when they are frankly confused, they do not give up. Clearly there are times when the right thing to do is ask for help, but learning self-reliance and confidence is preferable to remaining dependant and helpless without the expert.
Try to find the problem yourself.