List of Common Mistakes  for the 'Burst-A-Bubble' (Console-based) Assignment:

Category

Mistake

Suggested Percentage Of Assignment
(explanation here)
  BurstABubble Game: Randomly Placing the Bubbles

30

(Failure to complete part of the assignment)

You haven't changed the code so that your randomly place the bubbles. -30%
Correctness You don't use the correct formula for generating random numbers within a certain range (as a result, the random placement off all the bubbles is off) -15%
(Failure to abide by the restrictions set forth in the assignment) You didn't place 4 bubbles 'close in' (between 10 & 30 units away) -5%
(Failure to abide by the restrictions set forth in the assignment) You didn't place 4 bubbles 'far out' (between 30 and 70 units away on the X axis, and between 10 and 50 units away on the Y axis) -5%
Efficiency You should create a single Random object and re-use it each time the Reset method is run, rather than creating multiple objects.  A good way to do this would be to create, as an instance variable, a reference variable to refer to the Random object. -5%
(Failure to complete part of the assignment) You need to place the 32 remaining bubbles in one of three ways (as described in the homework): randomly, in a nice pattern, or in a nice pattern with the remaining placed randomly.  You don't do any of these -10%
Correctness When randomly placing the remaining bubbles, the area where the bubbles may be placed doesn't actually span the entire screen. -5%
Maintainability When randomly placing the remaining bubbles, you should use the provided array's .Length property, rather than magic numbers, in order to determine how many bubbles your code needs to create. -3%
(Failure to abide by the restrictions set forth in the assignment) The nice pattern that you've got is exceedingly simple, and thus doesn't meet the requirements set forth in the assignment -10%
(Failure to abide by the restrictions set forth in the assignment) The nice pattern that you've got is constructed by putting in <= 32 separate lines, each of which creates a bubble using hard-coded coordinates. -10%
(Failure to abide by the restrictions set forth in the assignment) The radius should vary from between 4 & 10. -5%
  Fireworks Class 50
(Failure to complete part of the assignment) You don't override the provided methods in order to accomplish your task. -40%
Proper encapsulation All data members (fields), methods, properties, etc, on ALL the classes that you've created should be marked public, private, etc. -3%
(Failure to complete part of the assignment) You don't implemented DoUpdate -30%
(Failure to complete part of the assignment) You don't implemented GetUserInitInfo -10%
(Failure to complete part of the assignment) You don't implemented Print -10%
Maintainability

(Failure to abide by the restrictions set forth in the assignment)

 

You should look to re-use logic that other parts of the game already use, rather than re-writing your own versions. -25%
Maintainability Instead of re-implementing the Projectile.DoUpdate method, have your DoUpdate method call the Projectile's version. -7%
Maintainability

(Failure to abide by the restrictions set forth in the assignment)

You should be able to have the Fireworks be removed from play without having to modify the PlayRound method – examine the return value of DoUpdate more carefully, and see if you can use that, instead. -5%
(Failure to abide by the restrictions set forth in the assignment) Fireworks are specifically not affected by gravity. Odd yes, but a clearly stated requirement. -3%
(Failure to abide by the restrictions set forth in the assignment) The firework doesn't explode after a set amount of time
(You can either ask the user for how many rounds until detonation, or else just choose a number. Asking the user would be better)
-5%
(Failure to abide by the restrictions set forth in the assignment) The radius doesn't change when the firework explodes -5%
Style / Usability You don't inform the user of the fact that the firework has exploded
(you need to say something to explain what's going on, more than just changing the radius)
-3%
Style / Usability When you return true from the Firework.DoUpdate, the rest of the game immediately removes the firework from play. Specifically, it removes it before checking to see if the firework overlaps with anything. Therefore, you need to 'explode' the firework, change the radius, and then wait a round, before removing the Firework from play. -5%
Correctness In the Print method, you should inform the user how many round are left until detonation. -3%
  Style / Presentation

10

Please give your variables that indicate what the variable is used for -2%
Commenting

You didn't comment any of your code. 

-1%
Identify the author of each file

You didn't put your name, etc, at the top of EVERY  source code file, including any files given to you. (The "etc" part includes the name of this class (“BIT 142”), and the year and quarter, and the assignment number, including the revision number) 

-1%
Quality of presentation

(Make sure that what you've handed in looks good)

Code that you've commented out, because you're no longer using it, should be removed before handing in the assignment.

-1%
Horizontal Indentation Your code isn't formatted entirely consistently – in your C# file, try doing a "Select All", then under the "Edit" menu, under "Advanced", do "Format Selection" -1%
Vertical White Space Your code contains excessive numbers of blank lines in at least one place.   
  General Assignment Mistakes  
(Failure to abide by the restrictions set forth in the assignment) You modified part of the program, other than those parts of the program that supposed to be modified for this assignment.
NOTE: If you check with the instructor first, this penalty may be reduced or eliminated, on a case-by-case basis.  In general, modifying other parts of the program to make the program more fun, more cool, etc, have a good chance of being approved by the instructor.  Modifying other parts of the program in an attempt to avoid working/thinking hard for the assignment will always be penalized
(up to)
-20%
Submission Mistake You included the "Debug", "bin", or "obj" directories, and you shouldn't have. The assignment specifically said not to do this.

These result in point penalties, since the student has failed to complete one or more parts of the assignment, even though no particular percentage has been assigned to this category.

Submission Mistake

You didn't include the project files, please do so in the future. The assignment specifically said to do this.

 

 

Explanation of Percentages assigned:

Please note that for any given category, the total of the penalties may add up to more (or less) than the total for the category ; many of the mistakes are mutually exclusive (and since they therefore can't all apply, it's ok to add up to more than the category total), and if the student doesn't include any work in a particular category, it is suggested that you remove all points from that category (even if the individual items don't add up to the category total)

 

Note:  While this list is intended to be as comprehensive as possible, it is not exhaustive - it is possible for students to make mistakes that aren't listed above.  Students should be aware that they may receive feedback (and point penalties) for such mistakes.

 


This document and the related materials are developed with support from Microsoft Research Computer Gaming Initiative under the Computer Gaming Curriculum in Computer Science RFP, Award Number 15871.