Undergraduate students with a plan to do a research degree usually have a lot of questions and not sure where to start. Based on my previous experience in mentoring research trainee students from mainland China, I have the following suggestions:

Be Confident

If you have completed an Engineering degree (including computer science) with average mark $>80%$ from countries such as China, Korea or India, you have the potential to do good research.

For example, Chinese Higher Education Entrance Examination is a quite fair mechanism to identify prospective talents. A student who can get into a $211$ university's Bachelor program might be in the top $20%$ of all high school graduates in the country. Comparing with students in western countries, most top students in high school wish to do medical science or law, and very few would like to do science or engineering. Typically, for students in the CS program, the entry might be possible for top $10-20%$ or even down to the $20-30%$ range as in UK/Australia/NZ. Many established computer scientists, they were not as brilliant as most of us would like to believe.

If you have completed a solid Bachelor program, you will have all the potentials to be good researchers. I am aware of several faculty members who have completed their Ph.D. here, but they didn't even get the luck of being admitted into a Bachelor program when they took the Chinese Higher Education Entrance Examination (in $2001$ and $2002$ respectively), let alone a decent university. But after strict and solid research training, some could get faculty positions in the country. So, the first thing you should do is to be confident: yes, you can!

Work with a Suitable Supervisor

Even you have all the talents to be a great researcher, without proper guidance and training, your talents might be wasted. If you doubt it, think about those Chinese soccer players.

Actually research in mainland China has improved significantly in the past two decades. A lot of high impact researchers are working in Chinese universities: some home-grown, some returned from overseas. If you would like to pursue a research degree, your first task is to identify, approach, and hook up with a great supervisor, who may not be a professor, may not be a head of school, or dean, may not be in your own University. But as long as you two can trust each other, and you can follow his guidance, you will have a better start in your research career.

Your supervisor needs not to be in the same University, the same city, or even the same country. Roughly, what defines a good supervisor for you as a trainee:

  • who has the expertise in the area that interests you;
  • who has been successful in training a mundane student into a great one;
  • who wishes to invest his time on you;
  • who would like to provide constructive feedback for you to build up the profile

Plan Well and Work Hard:

No matter how talented, you have to work hard. One colleague once said:

you should work 8 days per week, 25 hours per day!

:p I don't disagree.

However, working hard is not enough, you will have to work correctly and smartly. Before your future supervisor gives you some detailed guidance, my suggestion is as below:

  • Make a plan with key milestones, such as:

    1. within six months, find a supervisor and work closely with him/her;
    2. build up the research background by following your supervisor's training guidance; This training might take 1-2 years, or up to 3-4 years in some top team if you join them in the first year of Bachelor study.
    3. Try to do some quality research and get published within 1.5 year: If you can, you might have chance to get a scholarship in some overseas university;
    4. otherwise, keep doing research in a master by research program and attempt the application upon graduating.
  • For now, build up your knowledge in maths:

    1. Statistics Inference;
    2. Linear Algebra; and
    3. Optimization.
  • For now, improve your Hands-on Skills:

    1. Python, R, or Matlab;
    2. Apache Spark or GPU programming skills
    3. Capability to use super computers, such as Getting Started with NCI from our lab.

No matter how boring this training stage might be, you should strictly follow a training schedule.