I don't think it's the source of your problems, but your copy constructor is not correct and leaks memory. If your class had a destructor like it ought to, you'd be deleting the same memory twice which would give you another problem to deal with.
You use vector in the parameters for one of your constructors. Why are you not using it within the class instead of trying to manually manage your memory?
i am supposed to take all the elements of the vector and copy it into a array (which is in the course class)... here is my destructor ( i just added it):