School of Engineering and Applied Science
Department of Computer Science
CSci 53 -- Introduction to Software Development
http://www.seas.gwu.edu/~csci53/fall05
Prof. Michael B. Feldman
mfeldman@gwu.edu


Preparation and Grading of Programming Projects:
the Importance of Professionalism

Introduction

Project Preparation

Project Grading

Schedule


Introduction

This course is taught under the assumption that the students have no previous experience with software development. Projects are therefore of a difficulty and complexity that a beginner can handle.

It is, however, important for you to realize that one of the purposes of this course is to help you begin your preparation for a profession. If you continue in computing courses, you will find that your experience here will serve you well. Even if you never take another course in computing, you will have learned much about the kinds of techniques professionals use and especially about the courtesy that they are expected to show to others needing to read and understand their work.

The conventional scheme used in universities to assess a student's accomplishments is the grade. We therefore use a grading system to assess your success not only in writing a program that "works," but also in completing a project that meets the standards of professionalism we have set. Meeting these standards is neither especially difficult, nor especially burdensome in terms of your time.

We hope that you will realize that we are not just being bureaucratic, and that you will understand the benefits of what we are asking you to do. In any event, we are giving you, through the grading system, a tangible incentive to do it.


Project Preparation

In developing a project, you will use the Systematic Software Development (SSD) method. Specifically, you need to prepare and submit all the sections of the method: Problem Statement, Analysis, Data Requirements, Algorithm with refinements, Test Plan, Coding, and Testing. It is acceptable to attach a copy of the project handout and mark it as Problem Statement.

Programming projects are to be submitted in paper form, because the graders will need to make notes on them. Projects will be turned in at the start of lecture and returned during lab. Be sure your name and lab section are on each piece, in case they get accidentally separated. Staple the pieces together. If the packet is too large to staple, use a binder clip.

Your submission must contain:

//-------------------------------------------------------------
// Name: Elvis Presley
// E-mail Address: elvis@gwu.edu
// Lab Section: CSci 53-30
//
// Project #1
// Date: Feb. 1, 2005
//
// Brief Project Description:
//
// This project requires the computation of the American
// price for a quantity of food purchased in Canada,
// where the food is purchased in kilos and the price
// is charged in Canadian dollars.
//
//-----------------------------------------------------------

Click HERE for a guide to program layout and style; your program must follow the guide. Specifically, indentation and comments in the program should follow the style of those in the book, and reflect the major steps of the algorithm as given in the SSD document. Use comments to document each identifier, e.g.

double quantity; // input - weight of food in kilos
double usprice;  // output - US price of the food


Project Grading

Your grade will be assigned on the basis of 20 points; partial credit is always given where appropriate. You will get credit for the work you do; it's obvious that you cannot receive credit for work you didn't do.

Note that a complete and correct design and test plan will earn 50% of the grade, even if you do not complete the program, and that a correctly developed and formatted program will earn an additional 20%, even if it does not work. This weighting of grades is quite intentional, and is typical of modern computing courses. It is also typical in industry for the coding part of a project to absorb only 30% of the resources.


Schedule

Your project is due on the assigned date at the beginning of class . A project brought in during the class will normally be counted as late.

Many teachers refuse to accept late projects at all, but in this course you are permitted to turn in projects at any time. In return for the additional time, your result is subject to a "late fee" of 4 points, or 20%, for each week it is late.

Note that if you are extremely busy, you can buy an additional week of time for a 4-point fee. You do not need permission to do so; just turn it in late. The "lateness fee" will be waived only for documented medical situations or other unusual circumstances. For example, "the computer was down" is not an unusual circumstance; our response will always be "the computer often goes down; you should have allowed yourself more time."

(end of document)