My teacher in the course Mat-2.3139 presented the same definition as in Wikipedia for the nonlinear programming problem here

but he did not specify what the nonlinearity actually means or what it actually infers. It is a bit hard to make a linear problem into nonlinear without a clear definition for it. So
I. Does the nonlinearity mean nonlinear objective function?
II. For one variable $\bf x$, does the nonlinearity mean that the function is not a linear map? Definition here.
III. or does the NLO mean a problem with nonlinear constraints?
IV. or does the NLO mean a problem with nonlinear constraints and nonlinear objective function?
V. or instead of linear mapping is a NLO problem with an objective function with certain smoothness?
VI. and what kind of requirements a NLO problem require: what kind of convexity assumptions for domain and codomain? Does the function itself need to be convex or concave? More detailed question related to convex optimisation here.
Any of I, III or IV would make a problem non-linear.
The answers to VI will probably covered during your course and different convexity conditions may lead to different algorithms.