Well Habitat for Humanity is a non profit organization that aims to build homes for people that do not have a home. You can volunteer as part of the workforce and give them x number of hours of your time, you can donate building material but more effective would be to donate money to them.
Ex. President Jimmy Carter is a big supporter of their work
http://www.habitat.org/how/carter.aspx
My goal in all this is to volunteer time building a home for someone who needs it and they have an organizational set up that allows me to give a Saturday to this cause.
To find a location that you can volunteer at take a look at the following link

