I think the first thing you need to do is figure out what your site is going to be about and work on good interesting content that will make people want to go to your site. The best affiliate programs in the world will do little for you if no one goes to your site.
Also, just working on something you already have in mind will do wonders to help towards learning web design.
As far as free programs, like Drudarby said, just Google it. There's literally thousands out there.
Some of the good ones are:
HTML Kit -- a good HTML Text Editor
Kompozer -- a decent WYSIWYG Editor
GIMP for Windows -- a free Graphics program
Filezillia -- a free FTP Program.
Believe me, theses are just a few.
I would also recommend using FireFox with some add-ons like Web Developer and Fire Bug... just to name a couple.
And above all........................it would benefit you to learn some HTML and CSS. HTML is not difficult to learn and can do nothing but help.