Web design concerns the so called 'front-end' of a website ie. the aesthetics and layout. This is normally achieved through HTML, CSS and Javascript. Web programming deals with the 'back-end' of a website ie. the functionality and database. For instance, a shopping cart function would require web programming. This is usually achieved through a scripting language such as PHP or Coldfusion.
---
A web designer creates what the website will look like, either on paper or in Photo shop.
A web developer/programmer puts that image into a fully functional website.