CSC 173 Grading Policy

The floggings will continue until morale improves.

-- Management

Components and Percentages

173 has a programming component, an exercise component, and an examination component. Unless otherwise stated, all assignments are individual: no team projects. The former two components are given in The 173 Exercises and Programming Projects page.

We may offer Success Facilitation Surveys this year. They are completed in class to help the professor and TA Facilitate Your Success, which is, after all, our job.

Numeric course points are calculated as follows:

Blackboard's "possible points" are merely conventions for the graders, who use a uniform 0-20 scale that BB converts to the above weights.


There will be three 75-minute module exams on the first three parts of the course, approximately at the end of each topic's treatment in class. Two hand-written sides (or one double-sided page) of notes can be brought to each exam.

There are no plans for a final exam at this time. If that changes, We'll let you know.

Written Homework Assignments

Written assignments are hardcopy, turned in as arranged,
Written HW for week X is due in the box by Marty's door on 7th floor on Thursday of Week X+1 before 5pm.
Handwritten is fine, but if you want to use a text processor, that's often better.

Late Written Work: Practically, work is not late until the TA has picked up the box Thursday at 5 (or later when he gets around to it.) If you miss the pick-up: submit work to the box anyway, there will be another pickup in 3 days. May want to add a stickie or note on your paper saying when it was put in the box. Maximum points possible for any late work are 70% of the original. There is no third pick up, so please don't bother after three days.

Submitting Programming Assignments

Programming assignments are always handed in through the UR's Blackboard system. The official due date and last admissible date appear in Blackboard: other dates you may hear or read don't count.

Please hand in your code directories and files, your README, and your Writeup in .pdf (if applicable).

Do NOT submit materials that need proprietary products. In other words, nothing from Microsoft. No .doc, NO .docx, no .rar, etc. Make sure your code works under linux, make sure your prose submissions are .pdf. If you need help finding the appropriate utilities, see Google(TM), a classmate, or your TA. For instance, zip and tar are OK archive facilities.

Grading Programming Assignments

Programming assignments have three different percentages for code-and-writeup points: 100-0, 80-20, and 60-40. In all cases, you hand in your code files and your README, which are considered together.

Grading Code and README

Code Content (60%)
  1. Does it compile?
  2. Does it run?
  3. Does it satisfy the requirements of the assignment?
  4. Does it deal elegantly with erroneous input?
  5. Is the Readme file adequate (see below)?

Code Organization (15%)

  1. Is structure logical?
  2. Is code modular?
  3. Is code extensible?
Code Style (25%)
  1. Helpful comments?
  2. Readable code, semantically meaningful identifiers and names?
  3. Elegant solution, good choice of code techniques and primitives?
  4. True to appropriate programming paradigm (e.g. avoid assignment and iteration in Scheme).

README is a text-only ASCII file (.txt, not .doc or .pdf) with at least the following information, and more categories or details as needed.

  1. Your name, the module subject (FLAT, Logic, lambda calculus, matrices), the week number.
  2. A list of all files in the directory and a short description of each.
  3. HOW TO COMPILE your program.
  4. HOW TO USE (execute) your program.
  5. Document any bugs of your program that you know of. Run-time errors will cost you fewer points if you document them and you show that you know their cause. (In your Writeup you may also describe what you would have done to correct them, if you had more time to work on your project.)

The Writeups

You might want to check out The Exercises and Projects Page, which has many useful pointers, including previous 173 Project Writeup samples.

When grading project writups, we'll check for the following: each should be given a separate section of the paper, with appropriate section heading.

Partial Credit

The writeup is a good chance to get partial credit: In case you have not completed the project, you should mention in significant detail: This will allow us to give you partial credit for the things you have completed.

Extra Credit

Give a clear description of any extensions or special features of your project. This will be used for assigning extra credit. Some extra credit ideas are mentioned in the Scheme, C, and possibly Matlab projects. Extra credit will be considered after making the first cut at letter grades for the course. If you're near the top of your bracket, or the amount of extra work you've done is particularly large, you can expect it to push you up a grade.

Late Programming Assignments, Absences from Exams/Quizzes

In 2012 we're docking the maximum possible grade for a programming assignment by 2% pre hour past the deadline. So it's pretty worthless after 2 days. So after about 2 days BB won't accept late assignments.

Examinations will be given at alternate times only with appropriately documented medical excuses. There is no make up for SFSs.

If you need an extension due to personal problems, please obtain the permission of the instructor and then email the TAs and cc the instructor with the new arrangements you've agreed to.

Repeating previous suggestion: if you are not going to have the project completed on time, take the time to work on your writeup (as described above). It is possible that you will get significant (up to 50%, or possibly more) credit even if your program does not work.

Procrastination is a common time-management tool, but we can't dally around if we can't see the light at the end of the tunnel yet...there's a train coming. Don't wait until the last minute to start or complete your assignments. First and most likely, the assignment may be flawed due to typos, system incompatibilities, whatever: the quicker you do sanity checks the earlier we can deal with such problems. Second, it may take some time for the ideas to sink in. Third, if you start early you can ask questions of the TA or your buddies. Fourth, there could be machine failures or unforeseen personal circumstances. Fifth, if you plan on begging for an extension, is that really a smart idea? Success means twice as much to do this week -- remember: "Any fool can drown." In brief: you really don't want to get behind in this course.

Academic Honesty

Student conduct is governed by the College Academic Honesty Policy, the Undergraduate Laboratory Policies of the Computer Science Department, and the various Acceptable Use Policies on use of networks, digital books, etc. etc.

The following are additional details specific to CSC 173.

Unless otherwise stated, all assignments, exams, and SFSs in CSC 173 must be strictly individual work.

Collaboration on homework and programming assignments is encouraged at the level of ideas. Feel free to ask each other questions, brainstorm on algorithms, or work together at a blackboard.

Now 'collaboration' between scholars is often unilateral and at the level of artifacts, when is called "quoting references" or "quoting sources". As we know it's a respectable, admirable, quintessentially scholarly, thing to do. It involves a typographic indication that the reader is seeing a quote, and it involves a reference.

However, covertly copying or sharing or co-writing code for programming assignments or content for written assignments without citation is theft or conspiracy: i.e. plagiarism or academic dishonesty. Once it's detected (easy) we all have to start following procedures (hard and ugly -- makes me angry and screws your career).

So just keep your sense of The URCS Culture: Help others, seek help yourself. Don't hurt others and yourself by giving or getting the wrong sort of "help".

Back to the course home page

Last Change: 8/23/12