The floggings will continue until morale improves.-- Management
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.
Numeric course points are calculated as follows:
Programming assignments are always handed in through the UR's Blackboard system. 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.
The programming assignments will be graded according to the following criteria (of roughly equal importance):
We will strive to return assignments and homework within one week of the due date. Grades will be "posted" through Blackboard.
For programming assignments, include a text-only file called README, in which you will cover the following at least, with more categories or details as needed.
If applicable, include a short description of the structure of your program and the algorithms that you used. It may not be necessary for Prolog 2-liners and short Scheme programs. For programs with any structure or complexity, do it. Your goal is for us to understand what you did, no?
For "Week 1" programming assignments (short exercises and starter programs) the writeup is super-minimal. "Things went OK" would be perfectly fine. Or you may want to recount any problems you experienced or insights you got while solving them.
For more complex assignments (the "Week 3-4" types), you should explain anything you did that is likely to be different from what other students may have done, and justify any design decisions for which the rationale isn't immediately clear. Typically there is a chance to create graphics or tables, and to draw conclusions, from comparisons of statistics from different program inputs or versions. Don't ignore any opportunity to design and perform experiments with instrumented code and to present and analyze the results. That's computer science.
Your write-up should be coherently written, using full sentences and paragraphs, basically like a research report.
Write-up files must be in PDF format. Do not submit a MS Word document.
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 assignments will have 10% of the maximum score for the assignment deducted for each day or part of a day (that is, "rounded up") after the due date that the assignment is late, with a limit of 3 days, after which the assignment will disappear from Blackboard. After that, late homeworks will not be accepted. 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. However I suggest you 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, do you really think an extension is a good idea? Now you've twice as much to do this week -- remember: "Any fool can drown." You really don't want to get behind in this course.
Student conduct is governed by the College Academic Honesty Policy, the Undergraduate Laboratory Policies of the Computer Science Department, and the Acceptable Use Policy of Academic Technology Services.
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. Be careful, however, about copying the actual code for programming assignments, or copying the wording for written assignments. Copying code or written text is NOT permitted. This sort of collaboration at the level of artifacts is permitted if explicitly acknowledged, but usually self-defeating. Specifically, you will get zero points for any portion of an artifact that you did not transform from concept into substance by yourself. If you neglect to label, clearly and prominently, any code or writing that isn't your own, that's academic dishonesty.