First off, welcome Kory Newton to the blog. I don't deserve this sort of audience, but it means so much. And also thank you for encouraging me to write this blog post that is incredibly overdue. As someone who's taken more than his fair share of online classes, I want to spread the love about some of my favorites.
This is the best and most exciting intro to programming class I've ever taken. Python is a fun and useful language, which bodes well for any direction you'd like to take in programming. If you don't enjoy the course, I probably wouldn't continue on with the rest of this list.
Class Link is here
HTML & CSS
Codecademy is a great resource for learning new languages and getting up an running quickly. So, I think before we get started with any sort of web development it is important to get acquainted with these languages. I recommend you follow these assignments, and whenever you get bored, feel free to move along to the next step.
Class Link is here
jQuery class here
It may be a good idea to repeat the above classes as you see fit or find other beginner resources in these areas in case they are not sticking right away. Use the online documentation often, I still can never seem to remember the argument order for box-shadow CSS.
How excited did you just get about that title? If you're anything like me, you were far too excited. This is a tremendous course taught by the co-founder of Reddit Steve Huffman. He'll glance through the essentials of web development, so that's why I recommend the above steps. But you will be set up on Google App Engine, which really is a tremendous platform, and you'll get a good glimpse of the web development ecosystem.
Web Development Class here
At this point, you may begin to feel like you are getting the hang of this development thing. Probably not, but if you are, enjoy it. But each new project that you try, use a new language. Try a front-end language like AngularJS, EmberJS, or use a CSS library like Bootstrap, or any concoction of jQuery widgets. And last but not least, throw your Python knowledge out the window and get started with a new server-side framework like NodeJS/Express or Ruby on Rails
Stanford Startup Engineering Course
Ruby on Rails Tutorial
Michael Hartl's Rails Tutorial
I encourage you to keep trying new tools because each one solves a different programming problem. Attacking you apps from all of these POV's is the real opportunity to gain understanding. You'll have so many growing pains that you have no choice but to get good. And lastly, you'll be better equipped to avoid programming snobbery. In the future, when I tell you that NodeJS/Clojure/Go (or whatever it is at that moment) is the only programming language worth a damn, you'll be able to laugh it off knowing you have experience with it, and know that this argument isn't worth your time. And of course, don't get caught up with all the tools in the development ecosystem. Some stick around, some don't. Some are fun. some are painful. Whatever you choose to use is the best choice for that job. And have fun.