I don't know whether it is standard. there may be some standards, but probably not worldwide. I personally had to write a 2-page research proposal on a topic I didn't choose.
IMHO, it's a great opportunity to choose a topic that you can like, if the topic was imposed (or changed after a few years by your supervisor) you would probably hate that, since you have this opportunity, I'd try to make the best use of it.
Systematic approach to select/find a research topic (by trylks):
- Make a list of the areas that interest you
- Make a systematic literature review (so the approach is systematic) for those areas
Find research problems in the literature review and at least one that:
- has not been researched yet (it's "open")
should be done next. It's in the frontier of the state of the art
a) Without many previous requirements or they will become your thesis
b) it's interesting from a research perspective
not too many people are working on it (best is zero, but that could be for some reason...). The problem if there are too many people (and you are not a part of their team(s)) is that the frontier of the state of the art may keep moving before you are able to reach it.
- you have the necessary knowledge and skills to advance the state of the art in that problem
- you have the necessary resources to advance the state of the art in that problem (e.g. don't choose something that requires access to the data from LHC if you won't have access to that data)
- There is some economic interest in the problem and the results of your thesis (you don't need this for the thesis, but it will make everything much easier, specially after the thesis)
WRT the frontier of the state of the art, it usually looks like:
a) Some limitation in current systems/techniques that has not been addressed (specially in engineering)
b) Some question that remains open (specially in science)
c) Some question that has not been addressed (in some particular way) (specially in philosophy)
But well, research in those areas is more than that and it will be done in different ways depending on the topic. Computer science is sometimes considered an engineering (software engineering), sometimes a science (and can be empirical with benchmarks or formal with proofs) and it can be as well philosophical (specially in AI, IMHO). The kind of problem should arise from the review of the literature.
BTW: don't try to rush, this is systematic, but it will definitively take very long.