努力 的 学生。(when the adjective have more than 1 syllable, 的 is usually not to be omitted)
“变成”通常比较迅速、突然。
“成为”通常有一段比较长的时间,比较缓慢的过程。
So, “今年他变成了一个努力学生”、“今年他成为了一个努力学生” are both correct, but the tone or manner of speaking, or the context might be different.
In come cases, they are not exchangeable, for example:
巫婆一施法,王子就变成青蛙了。(“成为” is here not suitable.)
他经过长年的努力,终于成为了一个伟大的科学家。(weird if you use “变成” in this sentence.)
;)