Laboratory Write-Up and Submission

CSC 262 - Computer Vision - Weinman



Summary:
Information about expectations for laboratory exercises and methods for preparing to submit them.

Overview

This course features weekly laboratory exercises, as listed on the course schedule.
Unless otherwise stated: Laboratory submissions will generally consist of two parts: These are to be written and submitted using the guidelines below.

Laboratory write-ups

Matlab features a convenient way to integrate writing and code via a function called publish, which you will use to create a write-up for each lab. For the specific contents of a lab writeup, please follow the directions within that lab on what is to be included. In general, your write-up must consist of: Because most of our labs are tightly focused, the overall text you may need to write will likely be small, though the reports may seem longer due to the inclusion of many images.
You must submit your write-up as a PDF file. Submissions are processed by scripts and will not open or read any other format.

Laboratory programs: scripts and functions

In preparing any scripts or programs for the course, please follow these formatting guidelines.

Lab script

The first lines of your Matlab lab file should be comments giving the title of the lab (a section header), and your name(s) and box numbers, and the class section. For example,
%% Lab: Hough Transforms
% Authors:
% Jane Student (Box 16384)
% Joe Peer (Box 32768)
%
% CSC 262 
You should read and bookmark the Publishing Markup guide on how to format inline comments for integration in your write up.
Inline comments are expected for explaining your code, but these should not be included in as part of your writeup. For example
%% E. Section Header
% This text is included with the narrative
 
% This comment is for the code, but is not published
plot(sin(linspace(0,2*pi,50)); % This plot *is* published!
 
%%
% This comment is published without a new section header in a paragraph 
% immediately below the plot.
Note that the Matlab editor will auto-format (i.e., line wrap) your comments with the keyboard command Alt+Q, and will auto-indent your code with the keyboard command Ctl+Alt+/.
The file houghlab.m gives an example of a Matlab script for an imaginary lab conforming to these guidelines. You can run and publish the script on the MathLAN.
Publish your file to PDF but do not include the code in the report:
publish(labfilename.m','format','pdf','showCode',false);
This creates the file html/labfilename.pdf under the folder containing labfilename.m.

Functions

In addition to your name(s) and box numbers, lab title, and course section, formal documentation is required for every definition of a Matlab function, stating in English what that program unit is supposed to do. Documenting before you write a procedure can help you plan and clarify the requirements of your implementation. For example,
function N = estimateNoise(X,Y,Z)
% ESTIMATENOISE Estimates the noise in a sequence of three images
%
% N = ESTIMATENOISE(X,Y,Z) where X, Y, and Z are grayscale images 
% (all of the same dimensions) and N is a matrix of the same size 
% containing the noise estimate -- a standard deviation
% of the values at each pixel in the sequence.
%
% Authors
%   Jane Student (Box 16384)
%   Joe Peer (Box 32768)
%   CSC 262
%
% Lab
%  Image Formation
that may be used with the publish command.

Submitting your work

You will have multiple files to submit (at the very least a PDF and a Matlab file). Therefore, you will need create an archive of them for electronic submission. For example,
tar cf lab.tar source.m writeup.pdf ...
where lab.tar is the name of the archive file you want your files stored in. You may list as many files on line as you wish, or even use a wildcard (*.m) You may also add an entire directory to an archive by including the directory name without a trailing / in the list of files. If you do this to include the entire directory, please be sure you do not include any unwarranted image files, etc.
One group member should submit an electronic version of the file archive (i.e.., lab.tar) online via PioneerWeb by the beginning of class.

Notes on grading

Requirements

When a lab write-up is submitted according to the format specified above, it should be understood that the images and figures accurately reflect the output from the accompanying program. Anything otherwise may raise questions of academic dishonesty; and, by College policy, any evidence of academic dishonesty must be turned over to the Academic Standing Committee for action.

Style

Every programming task should yield readable and tested code. Because code maintainability is an important part of development, your labs' code will be graded in part on style, as well as correctness. After all, if I cannot understand your code (or it takes me too long to), I cannot give it a grade regarding its correctness.
Some style matters I care about: Failure to incorporate these style considerations will lower your grade.

Acknowledgments

Adapted from Assignments for Computer Science 213, Henry Walker; and CSC213, Fall 2006 : Laboratory exercises, Janet Davis. Some of the style considerations were adapted from Marge Coahran's.