Actually, in this case, either version is correct, and the difference in meaning is quite subtle. It's really just a matter of emphasis. Consider the following pair:
I will take the GMAT by the end of the year.
I will have taken the GMAT by the end of the year.These both convey the same information: I will take the GMAT this year! However, the emphasis is different. In the first, I'm emphasizing my commitment: this is what I will do. In the second, I'm setting the scene for what will be going on at the end of the year. I will already have taken the GMAT, so I will be ready for what comes next, such as applying in Round 2 or getting a job as a GMAT tutor.
Let's look at a few situations where the forms are not interchangeable:
By the year 2050, the world population is expected to grow to 9 billion. It would be odd to say that the population is "expected to have grown." That would almost make it seem that this growth is necessary for some other purpose, as in "By the end of the week, I am expected to have completed the project outline." We are simply explaining what some people think will happen. We're not trying to look backward from the year 2050.
By the time I get home, I will have gone 36 hours without sleeping.Here, I am making a point about the situation I will be in at that time. It wouldn't make sense to say "I will go 36 hours without sleeping" in this context, because I am talking about my cumulative activity. The present perfect is a better way to talk about achievements or milestones of this type.
I hope that helps!