Homework Guidelines
Introduction to Programming and Algorithm
Design (COP 1000)

This page provides guidelines for preparing your
homework, the criteria that will be used to grade it, and how to get
help if you have trouble with the assignment.
Develop your program using the Python IDLE. The source
code should be saved with the filename
specified in the assignment and the .py
extension.
-
Your
programs should look like this (for a single-function
program):
# filename.py -- Author Name --
Date # Description of program
import moduleName
# if necessary
def main(): statements
main() |
-
Your program must meet these
coding standards:
-
Indentation must be
consistent. (Set editor tab stops to 4 spaces.)
-
Neither statements nor
comments should extend past column 80.
-
Leave whitespace (skip a
line) between function definitions and wherever else it
adds to the clarity of the code by separating it into
logical sections.
-
Use descriptive function
and variable names. Use "camelCasing" for readability.
For example,
qtyPurchased,
taxRate,
custFirstName
are preferred to q,
txr, and
cfnm.
-
Your program should
include comments adequate to describe the purpose of all
functions and any non-obvious logic, but don't obscure
your code with unnecessary comments.
Your programs should produce the correct output for the range of
input specified. Each homework assignment is graded on a scale 0-5 based on the following criteria. Note that your
program must be syntax error free and execute to receive a minimum grade of
3.
| Grade |
Program Characteristics |
90-
100 |
All specifications met; efficient
(uses best algorithms and functions for the task) and maintainable
(easy to follow, well-documented with descriptive variable and
function names). |
| 80-89 |
All major specifications met, but source code is inefficient
(poor logic or inappropriate functions used) and/or difficult to maintain
(hard to follow or lacking in documentation). |
| 70-79 |
Executes, but some major specifications are
not met (function not provided or incorrect output). |
| 60-69 |
Has syntax errors that keep the program from executing, but a reasonable attempt made. |
| < 60 |
Has syntax errors, does not run, and little evidence of effort |
| 0 |
Not turned in, or an assignment similar beyond coincidence to another
student's (who also gets a 0, regardless of who really did the work) |
Additionally, a point may be
deducted from the above grade for gross
non-compliance with the homework
preparation requirements listed above. Review your work before submitting it to ensure it
complies with these standards. Your grade and my comments will be
included in the source code file, which will be returned to you
by email.
Follow these steps to reduce the time you spend coding and
debugging your programs.
-
Read the assignment carefully to understand
exactly what is required.
-
Create an overall design listing the major functions that need
to be accomplished, then break down each of these into specific
functions.
-
Code and test program functions
incrementally; "stub" functions that will be written
later.
-
Correct syntax errors by analyzing
the error messages provided, comparing your code with program
examples from the text and lecture notes.
-
When you have a clean compile, rigorously test your
program to make sure it produces the correct output for the
complete range of input specified in the assignment.
-
To correct semantic (logic) errors, insert
statements to display the value of variables at key points in
your program.
-
If you can't identify the reason for an error by following the
above steps, ask your partner (if a team assignment), a classmate, or
any other knowledgeable programmer to
look at your code. However, keep our policies on academic
integrity in mind: your final product must represent your own work.
-
Ask me for help during office hours.
You can also email me for assistance. Be sure to include your
source code as an attachment, send your email to sdifranc@fccj.edu,
and include the word "Help" in the subject line.
Homework is due by midnight of the date specified in your
class schedule. Send
your homework as an email attachment from your College email account
to sdifranc@fscj.edu.
The filename of the attachment should be that specified in the
assignment. Include your name, homework number, and the class and reference
number in the subject line. For example:
Sean Connery HW03 COP1000 Ref 999999
Note: If you are asking for help on an assignment, rather
than turning it in, make sure to include the word "Help" in
the subject line.
Late homework will not be accepted. When you submit your
assignment by email from your FSCJ email account, a copy will be
placed in your "sent" folder with the time and date sent. This
copy is your receipt, in case I do not receive it. If you turn
in an assignment and then think of an improvement, send it in –
I will grade your last submission, as long as it is sent before
the due date.
For some homework assignments, you will
be randomly teamed with another student. Only one program is
submitted, and both team members get the same grade. If more than one
program is submitted, I will randomly choose one to grade. You can
divide the work any way you can agree on. Some common possibilities:
-
Each team member writes the program individually, then
collectively compare them and submit the better one
-
One team member writes the program, the other independently
tests it
-
The team decomposes the program into functions, which are
assigned to individual team members to write and test, then
integrated
-
One team member does all the work, the other provides the food,
moral support, or some other "team-building" asset
-
The "buddy system" offers some interesting
opportunities if you can actually get together to do some
coding; read about it
here
However you divide the work, make sure you have each other's email
address. Don't rely on seeing your team
member in class to resolve problems.
Follow all the homework guidelines above. One team member should
submit the assignment, sending a copy ("cc") to the other
team member. Both team member's names should be included in the first
line of the source code, and the email subject line.
|