1) It's slightly odd, because it's an almost exclusively Chinese thing. When you look through the profiles here on italki, you see that pretty well all nationalities apart from the Chinese use their own names, or a Latin-alphabet transcription of their own names. Meanwhile, a large proportion of Chinese speakers give themselves English names. This isn't really necessary. After all, if Europeans or Americans can cope with 'Vladimir' or 'Mustafa', why shouldn't we be able to handle 'Chunwei'?
I don't have much of a problem with a Chinese person putting 'Harry' or 'Jenny' next to their profile picture, as these are obviously nicknames. What I do find peculiar is to see a profile picture of a blond, blue-eyed man, supposedly called 'Brad Johnson' (for example), next to a post obviously written by a Chinese person. That is strange and disconcerting.
2) It's a very outdated practice. When I first started teaching English - a very long time ago - I handed out English names to the children in my class. I even remember deciding to give my favourite girl's name to the prettiest, smiliest little girl in the class. I hope that wouldn't happen nowadays. If the teacher really wants their class to have English names, they should at least let the students choose their own names.
I am a native English speaker but have been living in the Netherlands for around 30 years.
1. I find this phenomena a bit strange, I much prefer it when Asian people use their real Asian name, it comes across genuine to me when they do so. To my logic, if you are lying about your name, how can I take anything else you claim seriously and as the truth?
If you must do use an English name, please do not choose a very out of the ordinary one. I often traded with people from China 10 years ago and some had really extravagant names like: River and Storm etc. These names always left a sort of weird and laughable impression on me.
2. I think your English teacher should leave it up to the individual to determine if they want to take on an English name or not.
In China, the meanings of names are very important culturally. Chinese parents try to think of names with good meanings for their children, often reflecting values they want their children to have. I think this is an example of how a language can affect culture.
Chinese doesn't use a phonetic writing system*, like most western languages do, so it's not really possible to phonetically write a name without it meaning something.
*There's Pinyin, but that's really only used by native speakers to type characters using an English keyboard.
With a phonetic spelling system, you can come up with new combinations of letters to represent new words e.g. if I told you I named my son "Yagopart", you'd probably have a goos idea of how to pronounce it. It has no meaning, because I just invented it! If you wanted to phonetically write that in Chinese, you'd have to write it as a combination of words, so ultimately you'd have to give it a meaning where it had none in the first place (apart from being a name). Most foreign names (and places) have to have meanings in Chinese because of how the Chinese writing system works.
I have a Chinese name which has a meaning. I didn't get a Chinese name because I thought people should get a new name when learning a language, but simply so I could have a way to write my name using Chinese characters. I chose my Chinese name, 炤华, as a loose transliteration of "Joshua". For a Chinese person, there already is a system to write Chinese names using Latin letters - Pinyin.
So I think there's two reasons why Chinese people generally get foreign names when learning other languages:
1) Names have meanings in Chinese culture, so Chinese people want names with meanings when learning other languages.
2) Non-Chinese people need to have Chinese names in Chinese (or it would be impossible to write their names down)
As a non native English speaker (from S.Korea)
1. I do not have any English name, and yet if someone is confused with my Korean name I will come up with any kind of English name which has a similar pronunciation instantly. For instance, My Korean name 'Cha' shortened already for easy pronunciation for those who are not familiar with Korean names can be used like 'Charlie' or 'Charles'. but it doesn't mean that I have an English name. It's just for the convenience.
Having an English name isn't required here but most of language learners change theirs for a better communication.
2. I prefer to use My Korean surname. 'Cha' was mentioned above. It's basically one of the family names in Korea such as 'Kim', 'Park', or 'Choi', etc. Among Koreans we don't call it or use it generally in a casual conversation, but I have seen a number of Koreans using it to Foreigners including me. It's because foreigners couldn't pronounce Korean names properly, also many of them couldn't remember it. so there is no point of using the first name. (Even worse; "not remembered" that's critical if you are in a business situation.)
Simply I didn't like to ditch my original name away, so compromised it through switching to the family name. It is shorter and it is easy to remember.