What is a convex optimisation problem? Objective function convex, domain convex or codomain convex? My teacher in the course Mat-2.3139 did not want to answer this question because it would take too much time. So what does a convex optimisation problem actually mean? Convex objective function? Convex domain or convex codomain? Or something else?

I believe the problem is with the naming convection which has not been made concrete over the years. Most authors (and readers) seem not to highlight on the distinction between a "convex function" and a "convex problem".
A more appealing distinct convention is as follows:
A function f need not be defined over a convex domain for f to be called a convex function. This is contrary to what most authors state, in which they include the "convex domain" as a criteria for the objective function to be called a convex function.
Bearing this in mind, A convex problem is defined as an optimization of a convex function f defined over a convex domain X. If it is a constrained problem, then this also implies that a convex (constrained) problem is one in which the objective function f is convex and the constraints are convex.
You will find that this naming convection is consistently used on Wiki i.e. convex (constrained) problem is "...problem of minimizing convex functions over convex sets", see http://en.wikipedia.org/wiki/Convex_optimization
The confusion of the OP & (many people) stems mainly from the convention of the "convex function definition" of most authors as stated above. That being said, I do find this "new" convention appealing due to issues regarding necessary and sufficient optimality conditions of convex constrained optimization problems.
