home page - news - syllabus - schedule - assignments - tutorials - tests - java - references - Mike Jacobson |
Instructions - Assignment 1 - Assignment 2 - Assignment 3 - Assignment 4 - Assignment 5 |
Instructions for Preparing and Submitting Assignments |
Read the Following Additional Information:
How To Succeed in Computer Science 331: This includes some advice about how to do well on assignments in this course.
Things To Avoid in Computer Science 331: This includes a list of things you are not allowed to do when working on assignments in this course.
Start Work Immediately: Significantly fewer requests for help are received by teaching assistants and instructors from students immediately after an assignment is distributed than shortly before the assignment is due. Consequently teaching assistants and instructors are generally not able to respond to requests for help as rapidly, or thoroughly, when requests come late.
Furthermore these assignments ask you to do a number of things that you might not have had much practise in (notably including writing technical material). It is easy to underestimate the time that will be needed to do something if you are not familiar with it.
Make Use of the Textbook, Lecture Notes, and Other Course Resources: These include definitions that you will need to consult, instructions that you can follow, and examples of the applications of techniques that you will need to apply in order to solve the problems on this assignment.
Provide Java source files as text files when you are asked
to write Java programs to solve problems on assignments in
this course. Note that your programs will be compiled using
javac
and tested on either Department of Computer
Science linux servers or machines in the 1st floor undergraduate
computer lab in Math Sciences. Although you should feel free to
use whatever development environment and platform to solve these
problems, it is your responsibility to ensure that your programs
work properly in the enviroment that will be used to evaluate
them.
Each program that you write should be
Well Designed and Implemented: Make sure to follow proper programming style when writing programs to solve problems in this course!
Thoroughly Documented: Include pre-conditions, post-conditions, and descriptions of all exceptions that can be thrown for every method that you include in your program. Any additional documentation that a reader would be expected to need, to understand why your program solves the problem it is supposed to, should be included as well.
You will also be expected to use Javadoc to specify requirements for your programs. The above link, and the links available from it, provide information about that this tool. It is used in the code that is provided in examples in the textbook, so you can find numerous examples of its use there.
It will sometimes be sufficient to include all this as inline documentation. However, it is frequently advisable to include documentation about your programs in your written answers for questions (discussed in the next section of this document). If you do this, then it will be helpful to include a specific reference to this other written material as part of the inline document in your source code.
Thoroughly Tested: Assignments may include the development of a test document for one or more of the functions that you will be asked to implement. This document should include a discussion of methods you used to develop tests and list the tests that you developed. You may also be asked to provide an implementation of your tests using the JUnit testing framework.
Note: You should also be prepared to write about the information you learned when executing these tests and about the process you followed to find and correct errors if your tests “succeeded.”
Your submission should also include a single file of text that includes answers to all the written questions on this assignment.
Indeed, you should probably include some information about every question, because it will be helpful for you to discuss the design of code that you have written — sketching an algorithm by describing it in a paragraph of text along with pseudocode, if the algorithm is not obvious, and mentioning any data structures that are used.
You should also document any assumptions that you made in order to complete the assignment, if these would be help for your submission to be understood and properly assessed.
Note that the quality of your writing will be assessed in this course.
It is therefore advisable to try to complete a first draft of answers to all written questions at least a day or two before the assignment is due. Then set this aside — for several hours, at a minimum and, ideally, for at least a day. Read your written work, slowly, and carefully then, in order to find writing errors to correct and material to improve.
You will likely be much better at proofreading your document and improving it by doing things this way, rather than proofreading immediately after completion of the draft.
Note: Of course, you should hand something in even if you do not have time to do this! However, if you discover that you did not have time to do this an assignment, then you should plan your work on future assignments in such a way that there is time for this!
Your written material should be typeset and provided as a Microsoft Word (“.doc”), Postscript (“.ps”) or PDF (“.pdf”) file. There is no guarantee that other file formats will be readable and you will not be given a chance to submit material in a different file format if you ignore these instructions and we cannot read your submission!
File names can be changed when files are submitted using Blackboard, and this can complicate things when you submit programs. Please submit a single file, using the following instructions, as your solution for each assignment in this course.
Move Your Files into a New Directory.
When you are ready to submit your solutions for an assignment create a new directory (preferably named after the assignment) and move all (and only) the files that you wish to submit into this directory.
Generate a Compressed Archive File.
Use the Unix tar command to produce a single “gzipped tar file” that includes the contents of this directory.
You should do this by executing the command
tar –cvfz archive.tgz AssignmentDirectory
in the directory above the directory with your assignment files — that is, in the directory that contains your assignment directory — where archive.tgz is the name you wish to give to the “gzipped tar file” that you wish to create, and where AssignmentDirectory is the name of the directory that stores your assignment files (which you have created already).
After you have done this, you should find that a new file called archive.tgz has been created, in the same directory as the one that contains the directory storing your assignment files.
For example, if I have a directory called CPSC331 where I store all my files for this course, then I would probably create a new directory called Assignment1 inside my CPSC331 directory, and I would use the directory Assignment1 to store my files for the first assignment in this course. Just before submitting material for the first assignment I would make sure that Assignment1 includes the files I wish to submit. Then I would execute the command
tar –cvfz assignment1.tgz Assignment1
within my CPSC331 directory in order to create a file called assignment1.tgz and this is the file that I would submit using the course’s Blackboard page.
Note: You will not be given a chance to resubmit your assignment if you use different software (for the archiving of files and for file compression) than the software listed above and the resulting submission is not readable by the teaching assistant and instructor!
Select Your Compressed File Using the File Selector in the Assignment Area, in Blackboard.
Go the the area for the assignment in the course blackboard page. You should see that this includes
The middle “Assignment Material” area includes a file selector that you should use to upload your solution.
Complete the Submission Process:
Press the “Submit” button when you are finished.
Note: To my knowledge it is only possible to submit material by pressing the “Submit” button once!
Furthermore, pressing “Save” does not submit your work for you, so that it will not be seen or graded if you select this instead of “Submit,” by mistake.
Please send email to the course instructor as soon as you can, if you discover that you wish to resubmit material (perhaps, in order to correct a mistake), or if you realize that you did not “submit” your material before an assignment was due.
This page last modified:
http://www.cpsc.ucalgary.ca/~jacobs/cpsc331/F08/assignments.html |