I recently came across a good article on house training a puppy. The first point it made was consistency. Dogs do the best in all training aspects with consistency. Always schedule a consistent routine for taking your puppy outside to go to the bathroom. Use one area in the yard to take your pup to each time so it learns what is expected of him or her. Once the pup goes to the bathroom, reward him or her and give a lot of praise. Puppies will need to go out first thing in the morning, shortly after a meal, before bed, as well as numerous other times through out the day. A good rule of thumb that I learned is the pup can hold it one hour for every month of age, so a three month old pup could hold it for three hours.
The next point is to confine or supervise the pup while training them. While indoors, either crate the pup or keep the pup on a leash so you are monitoring what he or she is doing. If you do not do either one of these, accidents will definitely happen. Crate training seems to be the best method. Never use the crate as a punishment.
The last point is to keep your cool. If you catch the pup in the act of going to the bathroom inside, immediately interrupt him or her with a loud voice or clap and immediately take the pup outside to the established bathroom area. Never punish the pup for an accident because accidents are going to happen. Punishing them will not help the house training process. If you find a puddle or pile and did not catch the pup in the act, it is to late to correct him or her. This means you have not be monitoring your pup as needed. All that can be done at this point is to thoroughly clean the accident to prevent revisits.
House training takes time but if you are consistent with the training the pup will learn what is expected of him or her!