The best way to predict the future is to create it.

Tips for organizing your project group

If you are working on a group project, here are a few suggestions designed to help you have a positive senior project experience (these tips are useful for other project courses as well):

  1. PICK A PROJECT TEAM YOU FEEL COMFORTABLE WORKING WITH (perhaps students you have worked with on programs for other classes). Different people have different ideas of how to organize and program. Finding students with an approach that you share often makes the project a much more pleasant experience. Incompatible attitudes and work ethics may be easy to overlook at first, but as time passes they may cause tension and anxiety within the group.
  2. SELECT A PROJECT TOPIC THAT YOU ARE REALLY INTERESTED IN. Whether you are working on a research project or a large-scale application, you are going to be working on a single project for a substantial period of time. Nothing can detract more from your senior project experience than getting fed-up with an idea you were only moderately interested in when you started and now can't stand. Many students develop games for their senior project since the thrill of actually being able to play the game as it is developed helps maintain motivation through the rough times.
  3. DON'T OVEREXTEND YOURSELF. Many students beginning their senior project have a tendency to bite off more than they can chew. Before setting down grandiose plans to write the world's best spreadsheet program, take time to think about what projects might be feasible to do in a quarter or two. At the end of the project, it is better to have a working application with fewer features than a non-working application that would be really great were it to be fully implemented.
  4. DEVELOP A PROTOTYPE EARLY. By building a simple version of your application, you can demonstrate its feasibility, get a better sense of the intricacies involved, and understand more about the time frame required for its development. Moreover, having a working prototype early on will help get you very involved in your project and avoid the mad rush at the end of the quarter to finish.
  5. USE EXISTING CODE. Most commercial programmers make use of lots of existing code and libraries, why shouldn't you? There is no reason why you should have to rewrite many common procedures and libraries which already exist and are readily available. By doing a little searching for code, you can save yourself a lot of time on the basics and work on what is really unique to your application.
  6. PRACTICE GOOD CODING STYLE. Don't forget the software engineering skills you learned in early systems courses like software design and microcontrollers. When you are working on a group project, it is especially important to structure your code and document it thoroughly to avoid having to track down bugs caused by unexpected interactions between your code and that of your partners.
  7. BE PREPARED TO SPEND LOTS OF TIME ON YOUR PROJECT. Your senior project is not just another programming assignment. You and your teammates should take it seriously if for no other reason than the fact that your faculty/company sponsor or EE4220 instructor will. To complete a project on the scale that the senior project requires, it is essential to start early and maintain your motivation throughout.
  8. HAVE FUN! Despite all the tips, guidelines, and warnings above, the fact that you have a lot of leeway on your senior project encourages you to pick a topic that you really enjoy-and can learn from at the same time. Students who regard their senior project as their best experience often attribute their enjoyment to the fact that they were genuinely interested in producing a particular application or finding the results of the research problem they were trying to solve. They do not regard it as simply a requirement they need to fulfill. Many students even choose to continue working in the same area after fulfilling their senior project requirement.