I'm assuming you have never had any programming experience. I say you start out with a web language. Here's how I went.
HTML ---> Some JavaScript ---> PHP
This website will help you with all three of those - [url]http://www.w*schools.com/[/url]
Practice the language. Make stuff with it, make useless things if you want, as long as it helps you to understand the concepts. Google around for PHP projects, JavaScript projects, anything and everything to help you practice more.
Once you've gotten a good ******y over those (HTML and JS are easy, PHP will be a bit more harder), you should now have a good idea of what programming is like. If it still interests you, keep doing it. You now have two choices. You can either start going into software languages like C++, Visual Basic, C#, etc. or you can keep going into web languages and learning about advanced web programming techniques like AJAX, and you can learn how to use PHP with SQL for databases. It just depends on what you like more.
As far as understanding networks and things like that, I learned that by getting into hacking. I learned my basics from these sites.
[url]http://www.hellboundhackers.org/[/url]
[url]http://www.darkmindz.com/[/url]
[url]http://www.all-nettools.com/forum/index.php[/url] (here!
)
After that, you just Google around, find out what specific topics interest you, and keep going. It's not easy to make a road map for learning, because each person learns differently.