I was exactly in the same position few years back. I was a non computer science grad, but i had decent amount of coding experience and algorithm design, but only that. No theory courses in Networking, Operating System or even DBMS.
I wanted to make web apps, and wanted it hard. So the few things i learnt were:
you need to know basic HTML, CSS.
Server Side Scripting: PHP/Python/Ruby
Client Side Scripting: Javascript(jQuery is the new JavaScript)
You should also know the terms like DNS, CNAME etc. so that you can put your content on a web server to start of with a shared hosting from any provider would be good.<p>But the above will only let you make very basic apps.
If you want to make slightly more complex things, there are Content Management Solutions like Wordpress, Joomla or Drupal. (these are amongst the most popular ones, they have readymade plugins so if your only motive is to get a site up and running, they will serve the purpose.)<p>If you want more customization you might have to learn MVC frameworks. Here(<a href="http://blog.fruiapps.com/2012/04/Understanding-MVC-Architecture-with-a-simple-example" rel="nofollow">http://blog.fruiapps.com/2012/04/Understanding-MVC-Architect...</a>) i have written a basic tutorial on MVC. The popular frameworks are
Ruby on Rails
Django (Python)
CodeIgnitor(PHP)
BackBone (JS)
My rule of thumb for deciding is:
Get a hang of a server side scripting language(PHP/Python/Ruby), choose the framework in that particular language.<p>Another most important rule that you should keep in mind is:
All that you want to do has been done, you need to assemble it your way!!
Learn to copy, modify and paste to suit your needs.
Don't be afraid of any implementation it will be out somewhere there.
Thats it, hope it helps.