Talk to those who have taken the course before, preferably with the same course co-ordinator. Learn what the course really requires.
Where necessary, contact the instructor and verify your assumptions before you act on them. Just because it was conducted in a certain way last semester (or, for so many previous semesters), does not mean it will be the same next semester. For example, the course may have used C++ for last so many semesters; but before you jump into learning C++, check with the instructor whether it will be C++ again next semester.
Most lecturers upload materials to the course website in advance. Monitoring the website is especially useful if there is a "first come, first served" list of potential projects for you to pick.
Spend some time revisiting course materials of software engineering theory courses you took before. You will not have time for this when the project is in full swing. After brushing up on your theory, you can look for some 'practice-based' materials. A good place to start is the book The Pragmatic Programmer: From Journeyman to Master.
If the course requires you to program in a certain programming language, start learning it now! Practise as you learn it, as the best way to learn a language is to use it.
Find out the "must use" tools for the course. Start learning them early. Before downloading the latest version of a tool, verify with the instructor whether you are required to use a specific version. Courses often force students to use an earlier, more stable version of a software tool.
Plan for other courses based on the real workload of the project course. Often, project courses carry more credits than a regular course, resulting in higher workloads than regular courses. Even if there are no extra credits involved, project courses often imply heavier workload than regular courses. Ironically, some students imagine it to take less time than a regular course ("we can do it over the weekend") - a mistake they will realise only when it is too late.
If the course allows you choose team members for your team, find suitable team members soon (see chapter 5 for more hints on choosing team members). While the instructor may downplay the issue by saying "it is not required to form groups early" or "you will be given enough time to form teams", it is in your best interest to find suitable team members as early as you can. They are a scarce commodity.
Any suggestions to improve this book? Any tips you would like to add? Any aspect of your project not covered by the book? Anything in the book that you don't agree with? Noticed any errors/omissions? Please use the link below to provide feedback, or send an email to damith[at]comp.nus.edu.sg
---| This page is from the free online book Practical Tips for Software-Intensive Student Projects V3.0, Jul 2010, Author: Damith C. Rajapakse |---