Project Submission Guidelines

CSC 161 - Imperative Problem Solving and Data Structures - Weinman



Summary:
We provide details on the policies for submitting module projects.

Contents

1  Collaboration
2  Header
3  References and Academic Honesty Certification
4  Format
5  Testing
6  Submission

1  Collaboration

You will begin module projects in class using assigned partners; projects must be completed and submitted with these assigned partners.
Working with a partner will help ensure you can take some advantage of the principle that "Given enough eyeballs, all bugs are shallow."1 Working with an assigned partner will increase the chances of being exposed to different ways of thinking and problem solving as well as help you practice the skills you'll need in the work world, where you typically do not get to choose your coworkers.
Everyone whose name appears on a submitted group lab report has the responsibility to ensure everyone fully understands the submission.
Other discussions must respect the course academic honesty policy and guidelines on allowable help from peer educators.

2  Header

The very beginning of each and every project file (including references and testing files) should contain the following identifying line. (You would be surprised how often the wrong files are submitted; this makes it easier for all to identify.) Even if the file is text commentary, the same (C-style comment) format must be used.
/***********************************************************************
 * Project: Title
 ***********************************************************************/
The project title must exactly match that give on the corresponding web page.
DO NOT INCLUDE YOUR NAMES. Because your program will be graded anonymously, you must not place your name in any file except the references/honesty file, below.

3  References and Academic Honesty Certification

Each and every project must include a single file, references.txt, with the following information (sources, help, certification) completed.
Academic honesty certification:
  Written/online sources used:
    [include textbook(s), CSC 161 labs or readings;
     use complete citations for Web or other written sources;
     write none if no sources used]
  Help obtained
    [indicate names of instructor, class mentors
     or evening tutors, consulted according to class policy;
     write none if none of these sources used]
  Our initials below confirm that the above list of sources
  is complete AND that I/we have not talked to anyone else
  (e.g., CSC 161 students) about the solution to this problem
  Initials:  ABC, DEF

4  Format

All submission files must be in plain text files (note: source code is a text file), rather than special word processing or other document formats (e.g., .doc, .docx, .odp, .pdf).
References
To facilitate blind grading, references and academic honesty must be included in a separate file, not included within any program files.
Code
A complete program should usually be given as a single entity (file), unless otherwise specified in the instructions.
Commentary
Commentary regarding testing should be given in a separate file, not included within the complete program. (Note: Opening a file in Emacs with a .txt extension is generally a good way to author such a file, as Emacs will automatically wrap lines sensibly.) The commentary should describe how one knows a program is correct (cf. 5). As with any writing, this commentary should be logically structured and carefully written.
Use a plain text file; files submitted in any other format will receive no credit.

5  Testing

Projects require more formal testing as outlined in the rubric. Unless special instructions are given, projects involve the use of robots, and often the result of the program cannot be copied into a testing commentary. However, tests can be described. To generate a transcript of compilation and relevant test or demonstration runs for inclusion in your work, use the script command and paste the resulting file at the end of your commentary. For example
weinman@noyce:projects$ script captured.txt
Script started, file is captured.txt
weinman@noyce:projects$ export PS1="$ " 
make project
clang -Wall -std=c11 -I/home/walker/MyroC/include -L/home/walker/MyroC/lib -lm -lMyroC -lbluetooth -ljpeg project.c -o project
./project
...
exit
Script done, file is captured.txt
weinman@noyce:projects$ 
The second line removes your username from the prompt. When you copy captured.txt into your commentary, be sure to omit only the line with your username (to preserve your anonymity).
IMPORTANT WARNING: Be sure you do not accidentally give the name of your program file (e.g., homework.c) as the argument to script. If you do, it will overwrite your file and you will have to start over completely.
IMPORTANT REMINDER: Including script-based transcripts (or simply pasting text copied directly from the terminal window) are subject to the syllabus academic honesty policy (based on the student handbook):
Any program results or output must be faithfully recorded, not forged. (A thoughtful explanation of unexpected behavior can often be a worthwhile submission and is much better than the alternative.)

6  Submission

Submit your files to the corresponding assignment on PioneerWeb by the deadline. Attach each file containing your answers (cf. 4) to upload. Type the complete e-mail addresses of all the individuals named on the lab into the Comments box. Enter all addresses on a single line and separate the addresses with a comma. For example
starjane17@grinnell.edu, cooljoe17@grinnell.edu
This will enable the graders to provide responses easily. Failure to match this format may result in receiving no feedback about your grade.
Only one submission per project group is required. However, all group members are jointly responsible for ensuring a submission is made. For example, if your partner told you she/he/ze would submit the project but forgets to do so, all group members will incur late penalties. For this reason, I recommend submitting work while you are sitting together.

Acknowledgments

This is a derivative work of Detailed Coursework Instructions by Henry Walker; used under a CC-BY-NC-SA 4.0 license.
Copyright ©2015, 2019 Jerod Weinman. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 International License.

Footnotes:

1This principle is dubbed Linus's Law by Eric S. Raymond in The Cathedral and the Bazaar, O'Reilly Media, 1999, p. 30.