Search Engine Optimisation is promoting your website so that your website gets visitors from search engines like google, yahoo, bing, etc. Yes there are other search engines as well but mostly people try to please google with Search Engine Optimisation techniques or in short SEO.
Yes there are tons of articles, softwares, tools for doing Search Engine Optimisation and many of them are free as well. In order to learn Search Engine Optimisation, all you need is basic understanding of websites, good english (or other language in which you are doing Search Engine Optimisation and of course the language of your website). A College degree can be of real help but is not a mandatory requirement. There are many online training programs for learning Search Engine Optimisation or you can start by learning through internet. In case you learn SEO with some professional service provider, it will save you time and efforts so that you can jump start into the world of websites and SEO really fast. Learning on your own can depend on your learning capabilities and how much time you can spend.
On the other hand getting visitors to your website can be done using Online Advertisement, where you spend money so that visitors come to your website. As i lost money on advertising on Sulekha Classifieds, i would not recommend spending money on Sulekha Network of domains and sub domains, however it can be really fruitful if you do research properly before spending money on any website including sulekha dot com. This website has lots of articles on Search Engine Optimisation and can be really useful to understand how websites work and what free tools are available for doing SEO (Search Engine Optimisation).