|
|
|
|
The programming assignments for this course use different
programming languages. A fundamemental element of each assignment will
be that to a large extent you will be required, after a brief class
room introduction, to learn the corresponding programming language on
your own. Thus it will be important that you take the time to learn
the language BEFORE you attempt to complete the corresponding
assignment.
Program Submission Guidelines
|
For each assignment, you will submit both an electronic
version and a hardcopy printout of your program. Your
progragrm must always consist of a single source file.
Submit the electronic version of your program to
the
Curator, using your PID and password. Be sure to select the
91312-CS 3304 Edwards 2:30-3:45 MW section when logging in.
After logging in, click "Submit" and follow the instructions to submit
your program. Each submission should be a plain ASCII source file
(not a zip file, tar archive, or anything else).
In addition, submit a hardcopy printout of your
program's source code on the due date in class. Your
hardcopy printout must match the highest-scoring
submission sent to the Curator earliest. In other words,
you may not submit your program until it works, go back and add
comments and documentation, and then make a final submission of the
printable version of your program. Once you receive full credit from
the Curator on a submission, that is the version you must print and
hand in.
The late policy for program submissions is described in the course syllabus.
Your program grade is based on the following Criteria:
- Design and Documentation (50/100)
- Use of Paradigm--Appropriate use of strategies central to
the programming paradigm on which the assignment is based.
Deductions taken for use of language features inappropriate within
a paradigm (as described in each programming assignment).
- Design--Is the design sound, easy to understand, and
clearly evident from the code? Are there major design weaknesses?
- Central Data Representation(s)--If one or more core data
structures are used within the program, the purpose, content, and
structure of each must be described along with the corresponding
type and/or variable definitions.
- Unit Headers and Descriptions--each program unit should be
preceded by a comment block that gives the specifications for that
unit, particularly detailing its interface requirements.
- Well Commented--the program source (besides the header) should
include comments to explain the specific actions of the elements of
the program tied in to the design of the program.
- Well Structured--careful use of indentation, small abstract
program units, logical division of the problem, etc.
- Careful Use of Identifiers--identifiers should be chosen to
give a sense of readability to the program, and should NOT be repeated
in other program units unless they have a common meaning.
- Correct Behavior (50/100)
- Your program's run-time behavior will be electronically
judged by the
Curator, and automated electronic submission and
grading agent.
- If you are not familiar with the Curator, consult the
Student Guide to the Curator.
- You are allowed up to 5 submissions for each program, and
normally will receive an e-mail report of your
submission's performance within a few minutes of your
submission. The Curator will allow late submissions
according to the policy outlined in the syllabus, and will
automatically apply the appropriate late penalty to your
score.
- Each submission is tested against a randomly generated
data set--you'll never get the same test data twice,
and you'll never get the same test data as the student
next to you.
- The Curator will report your score out of 100, assuming
you receive full credit for design and documentation. The
Curator score is not your final score, however.
Any deductions produced by the GTA's evaluation of your
design and documentation will be added to the Curator's
assessment to obtain your program's final score.
- In the output you receive back from the Curator by
e-mail, you will notice that the spaces have been replaced
by underscores for more effective grading. Keep this in
mind when you look at the output produced by your program
and that expected by the Curator.
Notes on testing are
available for your use.
|