As an introduction I would like to assert that nothing said in this post covers all situations and view points that are present. The topics presented are what advice I can draw from personal experience as a Helpdesk TA and with discussions with other upper year students. The list is ordered in my order of importance.
Navigation:
Java tips
Courses to pay particular attention to
Learn a new language