CMSC 341 Project Policy

Grading Policy:

Projects will be graded on three criteria. The weight given to these criteria may differ between projects.

  1. Design -- does the design adhere to the project specification and follow correct OO and top-down design principles? Do functions perform just one task? Do the classes each model a single entity? Are the methods of each class appropriate for that class? Do the classes exhibit encapsulation and data hiding? Are exceptions thrown where appropriate?
  2. Implemenation -- does the code follow all course guidelines with respect to style and documenation? Does the code follow accepted standards for parameter passing, spporpriate use of const methods, etc.? Does the code use the most efficient algorithms and data structures? Does the executable meet the specified running time for the project?
  3. Correctness -- does the project compile and link without errors or warnings and produce the correct results.
This means that turning in a project that "works" but is poorly organized or poorly documented or is noticably inefficient will not receive full credit.

Any project that does not create an executable for any reason will lose all points allocated to the "correctness" criterion. Use the tools available to you (i.e. ant run and ant doc) to be sure that you have submitted all necessary pieces to create a runnable program.

Each project grade will broken out in a grading sheet that is specific for that project.

Project Grade Changes

All projects are graded by your TA. Visit your TA during regular office hours (or make an appointment) to request a project grade change when you think the TA has made a mistake. Come prepared to show the TA evidence of the specific mistake. Project grades will not be changed just because you think the TA has deducted too many points.

Don't waste your time or your TA's time by asking for a grade change just because you're not happy with your grade.

Remember that if you have a question regarding your project grade, you have exactly one week from the receipt of your grade to contact your TA.

Project Regrades

In some unusual circumstances you may recieve a low project score because of a single, simple error that results in many incorrect outputs or results in a compiler/linker error. The definition of "simple error" is determined by your instructor. In such cases, your instructor may (at his discretion) allow you to fix the simple mistake and have your project regraded.

Remember that if you have a question regarding a project regrade, you have exactly one week from the receipt of your grade to contact your instructor.

Please note that tools such as "cvs -q update" and "ant run" are provided for your use so that you can verify that your project is working correctly after it has been submitted. In particular this means that the statement, "It worked in my directory" will carry little weight.

A 10-point deduction is assessed when your project is regraded.

Running on Linux

Note that your project will be graded by being compiled, linked and executed on the LINUX GL system (not IRIX) using the /usr/local/bin javac compiler. Be sure that you compile and test your project under LINUX. Compiling it and testing it under IRIX, Windows or any other operating system with a compiler other than javac does NOT guarantee it will perform properly under LINUX.

Hints for enhancing your grade:

Do submit partial work for partial credit. A zero grade is much worse than a low non-zero grade.
If you think you should receive extra credit, let the grader know by submitting a file named grader.README that briefly describes why you should get extra credit.
Do check your submittal by using cvs -q update, ant run, and ant doc. These are explained in detail
Introduction.ppt and Javadoc.

Due Date:

Every project has a firm due date. You should manage your time to complete your project and submit it by midnight of that date. Since you can submit material multiple times, we use the time of your most recent submittal.

Be careful. If you attempt to submit something after the due date, all previous submittals will be counted as late. The date of the last submittal you make is taken as the submittal date for all your materials. Please don't attempt to submit any files after the due date.

Extensions will be given only rarely and only in the most dire circumstances. Your chances of getting an extension diminish rapidly as the due date approaches. Only the instructor can give an extension. UMBC system downtime is generally NOT reason enough to grant an extension.


Cheating in any form will not be tolerated. Instances of cheating may be reported to the UMBC Academic Conduct Committee in accordance with UMBC Student Academic Conduct policy. These reports are filed by the Committee and can be used for disciplinary action such as a permanent record on your transcript. Academic honesty is absolutely required of you. You are expected to be honest yourself and to report any cases of dishonesty you see among other students in this class. Reports of dishonest behavior will be kept anonymous.

It is your responsbility to read, understand and adhere to the Student Honor Code If you ever have a question about cheating in this course, please ask the instructor about it. Ignorance about the cheating policy is not a defense after the fact. Your project assignments are to be entirely your own. You may discuss general course ideas with others, but everything you submit must be just your own work.

It is never permitted to copy code from someone else nor to provide code to someone else. This applies to paper and electronic forms of the code. Help received from the CSHC, TA, or instructor may be included in your submittals.

Here is a general rule for you to follow:

Having someone else's work in your possession or giving your work to someone else in any form, even briefly, is dishonest.


The penalty for the first violation of this policy is three-fold
  1. A project grade of zero.
  2. A 10% reduction of your semester average (one letter grade).
  3. Actions reported to the Academic Conduct Committee.
A second violation of this policy will result in a semester grade of F and again being reported to the Academic Conduct Committee.

Checking for misconduct may occur at anytime during ths semester. Therefore, if you violated the policy for Project 1, you may be confronted about that at any time. Just because you recieved a grade for a project does not mean you are "in the clear". Once you have found to be in violation of the policy, all previous projects will be rechecked for possible violation.

You must protect your materials from observation by others. It is your responsibility to maintain your course files so they cannot be read by others. Failure to protect your course files will be considered to be a form of academic dishonesty. In particular, do not store your files in a publicly-accessible directory. If your materials are copied by another person because you failed to protect them, you will be subject to the same disciplinary action as the other person. If in doubt about how to protect your files, ask for help in a UCS lab, at the CSHC, or from the TA or instructor.

We will be using special software to check for cheating. The software is quite sophisticated and can detect most instances of cheating. It will be used to check each and every pair of students for every project, even across sections.