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.
- If the program always does the same activities (e.g., plays a song),
describe what the robot does and why you think this is the proper
result.
- If the robot reacts to input or its environment, describe the situations
that can occur, how you tested each circumstance, and how the robot
responded.
For example, if the robot is to move and avoid obstacles, testing
should identify that no obstacles might be present, a obstacle may
exist on the left, an obstacle on the right, or an obstacle on both
left and right. In each case, commentary should describe what tests
were run and how the robot reacted.
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.