Laboratory 1, January 15

Team Identification


Formulating your Team

Make sure that your team is complete and registered with the TA.  If you are an individual who has not yet found a team, be sure to clarify your situation with the TA.

Organizing the Team

The TA will be providing you with a number for your team.  You also need to decide on one member of the team to serve as the team leader.  The team leader will have no more work to do than the others, but will be the contact point for your team.  All team work assignments are to be done by consensus, but the team leader will be responsible for finalizing the assignments to be sure that each individual has something to do.

CVS

Most real world projects, especially those involving a team effort, will require that you use a revision control system to protect the integrity of the programming project.  You will be required to manage your project with the Unix cvs (revision control system) program.  You can read about cvs in many Unix books. You can learn about it by typing "man cvs" at the Unix prompt on esus ("man" is short for "manual" and gives you access to sections of the online manuals provided with Unix).  You should also be able to find information about cvs on the web.

A revision control system essentially works as follows.  When a team is working on a project, one member can check out a piece of the project and lock it, so that only [s]he can make modifications to that piece at that moment.  When done, [s]he checks that piece back in, then others can check it out to work on it if necessary.  This ensures that different versions of the same program aren't being created simultaneously.  Furthermore, if something drastic happens, such as major modifications to a program are done that turn out to be wrong, it is a simple matter to revert back to a previous version, which is maintained automatically by the revision control system.

The main point to remember is that pieces should not be checked out for long periods of time without being checked in (otherwise others will not have access to that piece to make their own modifications), and work should be checked in regularly (otherwise, you won't have incremental saves that you can back up to should the need arise).

If you prefer to be doing development on your PC in a different environment than that provided by esus, you can check out a part of the program, transfer it to your PC, work on it there, and then later transfer it back to esus and check it in.

As you can see, working with cvs may be a bit of a pain.  There are reasons we require its use.  One is that you most likely will be working with something similar on a real-world team project later.  Another is that we have seen a number of disasters avoided when students could simply revert to a previous revision when something went wrong.

You will be asked to print out your cvs log when turning in assignments, so we will be able to tell how much you have been using the system.

Learning to use the revision control system will be up to you.  Begin working on this now.  By next lab you will be expected to know how to use cvs.

The Web Site

Take some time now to review the class web site.  Much more will be added as time goes on.  In particular, you are required to read and understand

You will be held responsible for understanding the rules and the grading scheme from this point forward.  Note that both are subject to change and that changes will be posted on the Announcements page, which will also be your responsibility to read daily.

Turning Work In

On each paper you turn in in lab from now on, write the following information in the upper left corner in this order:

  1. Your group number
  2. Today's date
  3. Your team names and esus e-mail addresses

To Turn In

Turn in a sheet that has