HTML - http://www.w3schools.com/html/ CSS - http://www.w3schools.com/css/default.asp Javascript - http://eloquentjavascript.net/contents.html
And then pick one of the following two: PHP - http://www.tuxradar.com/practicalphp or Rails - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
There are many languages that you can learn for front end other than RoR and PHP, but they are two of the most popular right now, and will almost certainly suit your needs. Good luck, and stick with it when it gets frustrating, learning how to code is definitely worth it!
Starting on HTML!
Beyond that, I would reiterate the following suggestions put forth by others: -- How to Design Programs (get version 2. Racket, the IDE for this book, is practically plug-and-play, so you won't waste time prepping your development environment)
-- Think Python by Allen Downey (i haven't read this one, but it comes very highly recommended. the excerpts I've read show that Allen communicates the concepts very clearly)
-- Eloquent Javascript (very good introduction, all examples can be done directly in the browser with the specially-made console. This eliminates the time and confusion you will experience trying to set up a development environment with other languages.)
On top of those I'd also add: -- The C Programming Language by K&R (if you are interested in C)
-- Dive into HTML5 (if you are interested in web development. HTML is a markup language, but you are going to need it to be able to build web stuff. This book complements Eloquent Javascript nicely)
-- Land of Lisp
-- DOM Scripting (Pair this book with Eloquent Javascript. It's the best introduction to the DOM that I've seen and will bridge the gap between HTML and Javascript)
The best books on coding are those that place equal emphasis on good prose and good programming practice and that de-emphasize syntax.
Also, look for books where the examples are real-world examples. i.e. things that people have actually had to implement at one time or another. Avoid books with completely imaginary examples that use made up names like foo, bar, widget, etc.
Also, any recommendations on whether I should try to be building mobile apps or web apps as my end goal?
Given your interest in mobile/web apps, my recommendation is to start with Eloquent Javascript then Dive into HTML5 and then DOM Scripting. With those three, you'll have a solid base for what the next 5 years of what technology trends will throw at you.
Eventually you'll need to start working more with stuff on the server side. Once that time comes, you'll know enough to choose the server side language that makes the most sense for you (my bet is that you'll probably end up choosing between Javascript, Python, Ruby or Clojure in that order).
I learned via the copy, paste, google and osmosis method, and it worked great for me. (:
So I guess my advice would be... before you spend your money on books, since time=money, the X hours you spend paying for the books might be better off "just doing it".
But, not relevant if you actually are a book guy.
1. Web development? 2. Mobile development? 3. What platforms do you prefer?
If you want to just learn programming for the sake of learning programming you'll likely not make much progress.
Define a goal and get back to us.
My goal is to build an application similar to TripIt(travel advisor), but tailored towards education.
there are plenty tutorials out on the web and most any basic intro book will be good if you're learning to code.
you can also check out www.hackerbooks.com
If you'd prefer Python, a real gem of a book is Core Python Programming by Westley Chun. Python btw, is an excellent choice for a first programming language.