ID | Deliverable | Due Date | Time Left | Submission Type |
---|
ID | Deliverable | Due Date | Time Left | Submission Type |
---|
The exercises are to be completed individually. The projects require group work.
For the group projects, you should have committed to a group before you start. You may not switch groups during the project for which you have committed without permission from your instructor. The group size for the projects is 2 students.
Here is a small application you can use to find out which students haven't declared that there are in a group. Use your SLO login to get access to this list. When you have found a group, use the application to remove yourself from the availability list.
Important:
Project & Exercise Submission Instructions
The instructions below apply to both projects and exercises.
To determine what to include in your submission, read the description of the deliverable. Some deliverables require you to submit a single file in a specific format, some require you to create a compressed tar archive (a .tar.gz file) of multiple files, some may require you to submit multiple items individually under different ids.
If a compressed archive is required, issue the command 'tar czvf filename.tar.gz *' from within the directory to archive its contents into a file called 'filename.tar.gz'.
To upload your submission for grading:
Upload your file using the submit script from the command line: submit.pl <ID> name_of_your_file_or_archive This command can be found in ~cs3214/bin. Note: The first parameter (ID) of the script is the identifier of the deliverable you want to submit. See the column ID above. For exercises, this will be 'ex1', 'ex2', etc.Alternatively, you can submit via the submission web page. To access the submission page, log on with your CS SLO account (that's the same account you use to log on to rlogin.cs.vt.edu).
Please note:
If the script says "Submission REJECTED", then it didn't accept your submission because it doesn't match the expected format. In this case, please fix your submission. Don't email it to us. We will not accept submissions by email. Leave enough time before the deadline to debug any issues that may arise.
If the submission script accepts your submission you can be ensured that it is in the correct format. There will be no penalties for format errors detected later, but which were not detected by the submission script.
Text files have to be in the 'ASCII English text' encoding. Make sure your submission follows that (issue the 'file' command on your submission before submitting it to verify).
A common mistake is to create files that use Unicode characters in UTF-8 encoding. For instance, some editors convert the ASCII apostrophe into the Unicode single right quotation mark. Many editors and terminal emulators cannot properly display them, leading to garbled characters as shown here and here. Please note that I didn't dust off ancient software to show you these problems. They were obtained on a computer freshly installed with Win7 and Cygwin in 2010 (the machine I happen to use.) Further, note that the problem is not merely cosmetic. Any Unicode-unaware program that assumes that a file consists of 8-bit characters will be unable to process these files. Even in those programs that are aware, bugs abound.
Take a look at this file to see the difference: utf8.c (if your browser displays UTF-8 characters correctly!) Please avoid using Unicode quotation marks or other Unicode characters. If your editor produces them, configure it to not to or use another editor.
In a Unix environment, you may try setting the LANG environment variable to C instead of en_US (before starting your editor).
Following these instructions ensures that the GTA's can use scripts to extract, build, and grade your submissions.
Question:
Sorry to bother you with yet another e-mail but the submission system keeps
rejecting my file. I have been trying to submit my file for the a while now and
it's not letting me. I typed my solution in notepad++ with the correct
encoding. I tried to switch to notepad but it's still not taking
it.
First, run 'file' yourselves:
$ file
Exercise\ 4.txt
Exercise 4.txt: Unicode text,
UTF-8
(Note the \ is to escape the 'space' in the
filename, inserted when using the shell's auto-completion.)
Ok, so
it thinks it's Unicode in UTF-8 encoding and, moreover, the set of bytes
used in the encoding exceeds ASCII. Let's find the culprit by trying to
convert to ASCII:
$ iconv --from=utf8 --to=ascii Exercise\ 4.txt
iconv: illegal input sequence at position 0
Position 0
means the very first byte in the file makes it impossible to convert. Ok,
let's look at the file byte-by-byte:
$ od -t x1 Exercise\ 4.txt
| head -2
0000000 ef bb bf 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
2d
0000020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
2d
('od' - octal dump, use -t type hexadecimal
byte-by-byte ('x1'), and cut off all lines except the first two (head
-2)).
There are non-ASCII bytes at the beginning: EF BB BF.
ASCII ends at 0x7F or 127 decimal. Google EF
BB BF. It's the dreaded BOM, or byte-order-mark, used in
Unicode files.
Google how
to remove it.
$ vi Exercise\ 4.txt
:set
nobomb
:wq
and you're done:
$ file Exercise\
4.txt
Exercise 4.txt: ASCII English text
I've shown
the command line way of dealing with this. You can, of course, simply turn off
the BOM in your editor (such as Notepad++); and instead of od, iconv, etc. etc.
you can probably use Windows tools as well.
The point is that learning
how to diagnose character set related issues is a necessary skill if you want to
be a practicing computer scientist.
Another hint: I recommend setting your LANG environment variable to C by adding
export LANG=Cto your .bashrc file. This way, gcc will not print fancy Unicode left/right quotes in its error messages.
Lastly, note that 'iconv' with 'iconv --from=ascii --to=ascii' can be used to quickly find out at which offset in a file a non-ASCII character occurs (if you managed to insert one into your files.)