I am taking the course "Analytical Mechanics" (from on will be called "AM") this semester. In our first lecture, my professor introduced the notion of generalized coordinates. As he presented, we use generalized coordinates when we have constraints on the system (i.g. being on a sphere). When we have $M$ particles (in 3D space) we need to use $3M$ coordinates, unless we have $p$ independent constraints which now enable us to describe our system with $3M-p$ coordinates. We then use the transformation $\vec{r_i}=\vec{r_i}(q_1,q_2,...,q_N,t)$, and this is a transformation to a new coordinate system. This is where I got confused - in the course "Math For Physicists" (from now on will be called "MFP"), the professor said that for $n$ numbers to be a coordinate system, it needs to describe every point in space uniquely. But in the case I presented above (how my AM professor defined the notion of generalized coordinates) the coordinate system doesn't need to describe all the space, but rather the system (the position of the objects). Are the two notions do not refer to the same thing? i.e. is the concept of a generalized coordinate system which was introduced in the AM course different from the one of curvilinear coordinates that was introduced in the MFP course?
I think that the difference here is that while the generalized coordinates are indeed a form of curvilinear coordinates, they are not used for the same purpose and thus do not answer the demand that was presented in the MFP course.
Additionally, I would be thankful if you could provide a list of books or references where I could read about the formal definition of coordinate systems and curvilinear coordinates (the professor in MFP gave us references for books that are less rigorous and did not define or introduce curvilinear coordinates).