| # | Due at start of class on | One exercise from end of |
|---|---|---|
| P1 | 4/11 | Chapter 5 but not exercises 5.1, 5.2, or 5.18 [ project1.html ] |
| P2 | 4/18 | Chapter 7 [ project2.html ] |
| P3 | 5/2 | Chapter 9 [ project3.html ] |
| P4 | 5/16 | Chapter 11 [ project4.html ] |
| P5 | 6/4 | Chapter 13, exercises 13.1 to 13.11 only [ project5.html ] (resubmitted before start of final) |
All make up work must be submitted before the start of the final to earn credit.
Plagiarism
"Plagiarism" means presenting others' work as your own. It is punished at
CSUSB. Check you catalog!
When I spot it I give ALL copies the same score - ZERO. If you borrow something from books, friends, handouts, WWW pages, Usenet News, FTP files, etc. you must state where you found it. Honesty can be the difference between success and failure in my courses.
It is illegal to make permanent copies of things on the Internet unless you have explicit permission to do so. You have my permission to copy most of my pages, but you must not plagiarize them.
Project Grading
I read the program from beginning to end and then assign a letter grade
and/or a score.
An A(100%) program identifies who did it what it does. It is clear that it does what it says it does. There are no spelling mistakes or grammatical/syntax errors. It shows that you have understood the material in the course up to that time. Any bugs are described in the code.
A B(90%) is like an A program but is not as clear and easy to understand.
A C(80%) program still identifies who did it what it does. But it may not do what you think it does(bug) or may have mistakes.
A D(70%) program has both undocumented errors and spelling mistakes, grammatical goofs, syntax errors, etc.. It shows that you didn't understood the material in the course up to that time.
An E(60%) program is worse than a D but is still an honest attempt. I may have to use unlettered percentages for really bad work.
An F(0%) program is either late or has plagiarized material in it.
Decision, Decisions
Programmer's often have to make decisions about what a problem
means. I've noted some these in the details linked to the table above.
You must include a comment explaining what choice you made in the
code of your project.
Exercises asking for a function
Many exercises ask for one or more functions.
If you asked for a function that returns something do not output
it in the function. The value or object must be in a "return" statement.
To get full credit you need to hand in a running program that contains the function and a main function that tests the function thoroughly. Put the output statements in the main program.
Hint: Quality is Job 1
Start with a small incomplete program that is high quality:
simple, readable, clean, tidy, compiles, and runs.
Then add functions/classes/files and functionallity.
Hint: Write a main program first
Test first programming is a new an exciting way to produce code.
Start by writing a main program that tests the new functions and classes you plan to develop.
Try to compile it. It won't compile or run. You can supply the missing functions/classes/files next.
Add a new test, and then create/modify the functions/classes/... that you need to make it compile, run, and pass the test.
Hint: Don't let the sun set on bad code
As the program expands spend some time on keeping
clean and tidy. Look for repeated code and find a way to avoid it.
Abbreviations