CS 215 ­ Fundamentals of Programming II Fall 2013 ­ Submission Instructions

advertisement
CS 215 ­ Fundamentals of Programming II
Fall 2013 ­ Submission Instructions
While there are a plethora of software development environments for the C++ programming language that are implemented on many different platforms, for consistency and experience, programming assignments in CS 215 are to be completed using the GNU C++ compiler (g++) on the CS project server, csserver.evansville.edu, or equivalent machine. Compiler and Compilation
Programming assignments must compile on csserver using the g++ compiler for minimal credit to be given for the project. This does not mean that some (or even all) of the programming assignment must be developed on csserver. Those of you that have other development systems can complete some or all of an assignment on that system. However, when the program is turned in, it must compile using g++ without any intervention from the instructor. A program that works "perfectly" using, say, the Visual Studio compiler will fail during the automated submission if it does not compile on csserver using g++. (Also note that the lab practical exams will require that programs be written using the tools on csserver.)
All source files will use the following conventional suffix indication:
.cpp
user­defined C++ source files
.h
user­defined C++ header files
Common compiler options include:
-o <name>
creates executable file of given name; default is a.out otherwise
-c
compile only; creates .o object file(s) of same name(s) as source file(s)
-Wall
compile with all warnings turned on; this is required to produce the most conforming code possible
-g
compile for symbolic debugging
Generally, you will submit a makefile in addition to source and header files that will invoke g++ appropriately. (Makefiles are covered in class.) Note: when you do run the compiler from the command line, be very careful that you put the executable name after the ­o option; g++ will overwrite the first file after the ­o. It is recommended that this option be listed at the end of the command line.
Preparing assignments for submission
The electronic submission system compiles and runs your program on various test cases, capturing the output of your program (including user prompts). This output is then compared to the expected output as given in an assignment. If the output matches exactly, the system reports success. If it does not match exactly, the system reports failure.
In order for the output to match exactly, the following "rules" will be in effect regarding program output unless otherwise noted in the assignment.
09/02/2013
1 of 4
D. Hwang
All prompts for user input will end with a non­space character, then a space. There must not be a newline output at the end of an input prompt unless otherwise noted.
● All lines of output will end with a non­space character, then a newline. This includes the last line of output from a program.
● A period ending a sentence in the middle of a line of output will be followed by two spaces.
● All capitalization and spelling must match exactly.
●
Once you are confident that your program produces the correct results and output, assignments must be prepared for submission by creating a tarfile archive.
Turning in Assignments
Assignments will submitted on­line via the automated submission system at submission.evansville.edu. The latest submission will be graded, including commenting and formatting, so make sure you submit your final version before the 4:30pm deadline to earn full credit.
For the on­line submission, all files necessary for a project must be archived together using the tar facility. The tarfile should include all of the files required for the assignment as specified. These may include makefiles, header files, source files, input files, and output files you might have written. Your tarfile should be named something meaningful. For example, YourUsernameAssignmentNumber.tar
The tar facility is invoked using: tar -cvf <tarfile> <files to archive>
where the options ­cvf mean create a tarfile, report in verbose mode, and put the archive in file <tarfile>. If you want to check whether all your files got included in your tarfile, you can list the tarfile contents (option ­t) using: tar -tf <tarfile>
You can also try extracting the files from the archive (in a different directory! ­ option ­x) using: tar -xvf <tarfile>
For example, suppose A. Good Student's (username ags) 6th project for CS 215 includes the following files:
Makefile
stack.h
stack.cpp
sim.cpp
Then A. Good would tar these files as follows:
09/02/2013
2 of 4
D. Hwang
tar -cvf agsPr6.tar Makefile stack.h stack.cpp sim.cpp
Warning: Be very careful that you put the tarfile name after the ­cvf, otherwise this will overwrite the first file in the file list as the tarfile. You may want to make backup copies before making the archive
Assignments are uploaded to the submission system as follows:
1. If the tarfile is not accessible on the local machine, copy it from the remote machine to the local machine. The easiest way to do this on a Windows machine is use WinSCP (link is on the course webpage).
2. In a web browser, go to http://submission.evansville.edu
3. Login into the system using your ACENET username. The initial password is your student ID (including the leading 0). You should change your password after logging in the first time.
4. Click on "Submit Solution" link for the appropriate assignment.
5. Browse to your tarfile for the assignment, click Submit button.
6. As noted above, the submission system will compile and run your program on various test cases and compare the output of your program with the expected output. It will report the result of the submission at the top of the page. In addition, the system will display any messages generated by the grading script. In particular, if the output of your program does not match the expected output, the system will report the differences between them. 7. To see your submission history at a later time, click on "See Submissions" link for the appropriate assignment. Ignore the score given by the system!! Most assignments will be set to 10 points in the system regardless of the point value of the assignment.
There are 4 possible results of a submission. They are:
Result
Description
Did not extract
There was an error extracting the submitted tarfile. This usually means that something other than a tarfile was submitted. In particular, you will get this if you submit a plain source file.
Time limit exceeded
The source file compiled and was run, but did not complete execution within a time­limit. This is usually due to an infinite loop caused by a test case that was not handled. It also could mean the wrong source file was submitted, and the program has failed in an input loop or is waiting for more input that is not being provided.
Failure
Possible reasons for failure include: the tarfile did not contain a file of the appropriate name (e.g., main.c), the submitted file was not in the top­level of the tarfile, the tarfile contains the wrong source file, or the submitted file has syntax errors. Of course, the most likely reason for failure is that the program produced one or more incorrect results or the output formatting does not match exactly.
09/02/2013
3 of 4
D. Hwang
Result
Description
Success
The source file compiled successfully, all of the test cases produced the expected result, and the output formatting matches the expected formatting exactly.
You may submit your assignment multiple times. Only the last submission will be graded. The submission system will accept programming project submissions up to 3 "days" after the due date and time. (There are no late submissions for in­class assignments.) Ignore the score given by the system!! Due to the different way Dr. Roberts computes late penalties, successful, but sufficiently late, submissions will report a score of 0.
09/02/2013
4 of 4
D. Hwang
Download