It all depends... did she give you a domain? Is there a specific domain you're supposed to upload it to? I'm assuming this is for educational purposes... usually schools have a specific domain for each student. Depending on the settings, it shouldn't be too hard... but you'd have to give some more information!
You'll need an FTP Client and a server / host to upload it to
You usually upload a index.html which the DNS (which converts an IP like 150.000.000.001 into http://www.website.com/) usually recognizes automatically, so you don't have to manually set it, when you got to www.website.com it will open your index.html
You can host it for free on several websites, but if you want to have a decent website, which doesn't seen to be the case, yes, you have to pay for it
Perhaps ask your teacher for the details again... shouldn't be too hard, and it'll save you a whole lot of trouble! Having a certain space really helps, otherwise you'll have to set that up as well. Which in turn comes down to what Captain_J_Sheridan said... if you want a decent one, you'll have to pay for it.