CMPS115 FAQ's
To help you with the project, a case study is used throughout the textbook. Examples of the documents needed at each of the milestones are found within the text in the associated chapters, in the appendices, and on a web site associated with the textbook. Your project work should resemble this case study. There are other forms for the documentation of a software development project (other than those used in the textbook). It is possible for you to use one or more of the other forms for design or specification. Please get approval from the instructor before using something other than what is used in the case study. The last class day has been reserved for project demonstrations and grading to be held in the lab. A working version of your game is due and your project notebooks MUST be up-to-date and ready to be graded on that date.
The following documentation is to be prepared and submitted at indicated times (milestones) and RE-SUBMITTED on the last day of classes (in the lab):
There are three major issues involved with project grading: assigning credit to the project, assigning credit for individuals within groups, and assigning credit for difficulty differences among projects. The following will describe how the project grading addresses each of these three issues.
There are 10 milestones listed in your syllabus: (SRS part 1, paper prototype, SRS part 2, ARCH design, detailed design, unit test, code, software test documentation, system test, entire project notebook). You will receive at least one separate grading sheet for each of these. The total possible points on the entire project is equal to 100 * (# students in group). Call this value Total. For example, if you have 5 group members, Total = 500. Each of the milestones are given the same weight: 10% of the project points.
Ideally, each of you will contribute equally to the effort needed for your project and each of your grades will be (1/# students in group) * Total. Realistically, some of you are more motivated or more organized than others and will put in more time on the project. Some are more talented or knowledgeable than others and produce higher quality work. In other courses, students who do more or do higher quality work get better grades than students who do less or do work of a lesser quality.
At each milestone, you are to turn in secret email ballots on which you rate your own and all other of your group members' efforts and credit on the documents due at that milestone. For example, immediately after you have turned in your requirements specification, you are to divide 100 percentage points among all your group members in proportion to the effort and credit each deserves. For example, if each of the 5 group members worked equally on the requirements specification document, then you should assign each one 20%. I will average these votes and assign an individual project score based on this average. In past classes, I've had groups that have chosen to divide the percentage points equally among the members right from the start. If all members of a group choose to do this, send me email once indicating this. I will assume that the percentage points are divided equally if I do not receive mail from a group member.
I reserve the right to request the TA/instructor responsible for the group to vote in the group. The motivation for this addition is to prevent you from working on the project up to the point where you or some number of the students in a group have earned a passing grade, then quit working on the project. Project members who 'flake out' on their teammates will experience the consequences.
I will assign up to an additional 10% to your project score based on a difficulty factor that I assign to your project. A group that chooses to implement a simple game such as Tic-Tac-Toe will probably get no additional points. Having a computer opponent option on a complex game could add to the difficulty factor. Work on an implementation of a game similar to Tetris could get an additional 10% added. You are encouraged to keep the game SIMPLE.