Computer Science 1704
Intro to Data Structures & Soft Eng

Failure to follow these submission requirements will result in assignment grade penalties! Due to the large number of students in this course these requirements are mandatory.

Submission Format Guidelines


All CS 1704 assignments, unless otherwise indicated, must be submitted to the Curator automated acceptor. Assignments to be graded by the Curator must be submitted as a single C++ source code.cpp file. All other assignments must be submitted in a compressed zip archive format.

Students who are unfamiliar with working with zip archives are encouraged to work through the CS1205 compression tutorial. Shareware utilities for creating and managing zip archives are readily available:


The deliverables that the submitted archive file must contain will be listed in each project specification.  Do NOT include the debug directory or executable (.exe) image in the archive. All projects will be recompiled before demoing. Generally, this will  include the following:

Each .cpp file must begin with a header comment containing the following:

Do not employ protection or encryption on the archive or any files it contains.


Each of your submissions must be pledged to conform to the Honor Code requirements for this course. Specifically, you must include a text file in your submitted archive titled "PLEDGE.TXT" that contains the following pledge statement in the file with your name at the end:

// On my honor:
// - I have not discussed the C++ language code in my program with
// anyone other than my instructor or the teaching assistants
// assigned to this course.
// - I have not used C++ language code obtained from another student,
// or any other unauthorized source, either modified or unmodified.
// - If any C++ language code or documentation used in my program
// was obtained from another source, such as a text book or course
// notes, that has been clearly noted with a proper citation in
// the comments of my program.
// student's name

Failure to include this pledge in a submission is a violation of the Honor Code.


CS 1704 TAs will require you to demonstrate your program during lab time in the McB 116/118 lab. To receive partial credit for programs that are non-working, or are not fully functional, a brief one or two paragraph description of the problem(s) must be included in the submission archive and must be demoed. The location, routine minimum, must also be specified along with possible corrections that need to be made.

Code Quality

Students are expected to follow the Departmental guidelines documented in the "Elements of Programming of Programming Style". Code must be WELL-DOCUMENTED, appropriately indented and VERY READABLE. Points will be deducted for poorly presented code. Individual functions, excluding their documentation and declarations should be no longer than one page to 1.5 pages maximum. Each compilation module should contain only related procedures. Each function header should look similar to the following template:

// AUTHOR: name of author
// AUTHOR FOR EACH (if different)
// VERSION: x.xx
// Pre : (Pre-conditions)
// Post: (Post-conditions)
// Inv : (Invariant)


Structure Charts

A STRUCTURE CHART of the system's design, including all interface specifications must be complete. The structure chart must be of sufficient detail to communicate to others WHAT functions are needed to implement this system and how the various parts are interconnected. The structure chart is complete if the algorithms for each module could be developed from it, along with a Data Dictionary, although no data dictionary is required. Use only 8 1/2 X 11 standard sized page layouts in MS Word to record the chart, (i.e., DO NOT use larger sized pages). Use the symbols described in class for the components and the interfaces. Scanned, hand-drawn charts are not acceptable. The chart drawing must be in a vector format, bit-mapped drawings will not be graded. Legibility counts and points will be deducted for sloppily presented work. Careful and CORRECT notation is also required and points will be deducted for a poorly annotated chart. The final chart will be compared with the initial chart to determine the amount of modification made to the original system design. Penalties will be incurred according to the amount of modification. Note - calls to internal language/system routines: I/O etc. need not be annotated on the chart.


Partial Credit

Partial credit may be awarded to programs that are evaluated and demonstrated to the GTA(s). To receive partial credit for programs that are non-working, or are not fully functional, a brief one or two paragraph description of the problem(s) must be included in the assignment archive in a text file named "PARTIALx.TXT"), where 'x' is replaced by the number of the project. The location, routine minimum, of each suspected problem/error must be specified along with possible corrections that need to be made. Note: programs that are submitted to the Curator automatic grading system are automatically awarded partial credit by the Curator system. No other partial credit for programs evaluated by the Curator system will be made.


"Make everything as simple as possible, but not simpler."

- Albert Einstein (1879-1955)

"Each problem that I solved became a rule which served afterwards to solve other problems."

- Rene Descartes (1596-1650), "Discours de la Methode"

"Many things difficult to design prove easy to performance."

- Samuel Johnson 1709-1784


D. Barnette 8/29/2001 Virginia Tech © 1995-2001