The guy definitely sounds creepy. No normal man wants to chat up a minor. The next time you see him alone, and he comes up to talk to you, ask him why he's continuing to bother you. Depending on his answer, and your gut feeling, don't be afraid to be a bitch. You don't need to be polite to someone who's bothering you, and if he thinks you're rude and ill-mannered, he might stop trying to get into your pants, if he's a run-of-the-mill non violent pervert.
Best case scenario, maybe he's worried about you? (yeah, not too likely, but maybe he's trying to befriend you out of some mis-placed fatherly instinct?)
I have to second the suggestion of not carrying a knife. You seem like a sweet girl who'd hesitate to stab someone, and if you don't hold it correctly, you're more of a danger to yourself.
Worst case scenario, if he gets too close to you physically, punch him in the sternum(the bone right in the middle of your chest).Even a light push there will set anyone off balance, then run. Preferably while calling authorities.