Is this sexual assualt? What should I do?

So Im a freshmen in highschool snd there is this kid who would flirt with me. I nicely said I had a gf (which is true) and he stopped for a day or so. Everyone was at a trip I couldnt go to and it was just me and him. He started to check me out and even try to kiss me even though I have said plenty times I have a girlfriend but he wouldnt take no for a answer. I fell asleep in art class and I was sitting next to him and I woke up with his arm wrapped around my waist. I slapped his hand then got up and packed my stuff and he tried grabbing my waist again and told me I was sexy and asked how I fit my 'big ass' in my leggings. I walked away and went to gym. He followed and said how he wanted to fuck me and make me squirt. I told him to stop and he tried talking to me about me masturbating. I didnt know what to say so I walked away. Now all this week he has been making fun of my weight and trying to touch my face. Everytime he tries touching me I slap him and then he goes around acting like the victim because I slapped him. Ive had enough and idk what to do anymore. I dont have any friends yet and Ive dealt with stuff like this before and I have been having anxiety attacks.