The best way to learn programming conceptually is to read Structure and Interpretation of Computer Programs, by Abelson and Sussman. The book is available free on-line, along with video lectures. - http://mitpress.mit.edu/sicp/ - http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma... Once you have mastered this material, learning the specialization of web development shouldn't take more than a week or two of…
SICP is truly a masterpiece, but it might not be the best book for someone just starting out who wants to do productive stuff like prototype web apps. Peter Norvig wrote in his review, "I agree that the book's odds of success are better if you read it after having some experience" and I think I agree too, although I'm biased since I only read it after getting a degree in CS. I don't know how I would have felt if I'd read it as a freshman.
Felleisen et al argue that SICP isn't the best intro in their "The Structure and Interpretation of the Computer Science Curriculum" and although I haven't read the whole thing, I think I agree that How to Design Programs might be a better first book. It's certainly easier going, and you couldn't ask for a better environment than DrRacket to get started. And it's also freely available online.
1st ed: http://www.htdp.org/
draft of 2nd: http://www.ccs.neu.edu/home/matthias/HtDP2e/