CSCI 1200 Data Structures
Spring 2014

  Contact Information
  Discussion Forum (LMS)

  Learning Outcomes
  Course Grades

  Lecture notes
  Lab materials
  Test reviews

Weekly Schedule
  Office Hours
  Lab Times

Getting Help
  Advice from TAs
  Advice from Students

  Due Date and Time
  Late Day Policy
  Electronic Submission
  HW Grading Criteria

Collaboration Policy &
Academic Integrity

  Optional Textbooks
  Web Resources
  C++ Development
    Code Editors & IDEs
  Misc. C++ Programming
    Command Line Args
    File I/O
    string → int/float
  Memory Debugging
    Dr. Memory

Homework Due Date and Time

Homework assignments are due Thursday nights at 11:59pm. Homework is submitted electronically and submission times are judged by the webserver timestamp. If your submission is one minute late, it is a day late, so we suggest that you don't actually wait until the last minute. You may submit your assignment multiple times -- we will only grade your last submission. Please see the Calendar for the homework assignments and due dates.

Note: Please do not email your homework assignment to the instructor or the TAs. We will only grade material submitted to the homework submission server. We can login and view your submitted homework files if you encounter a problem at submission time and have a short question related to homework submission.

Late Day Policy

Each student will be given three days (whole or partial) of grace for late homework assignments. These grace days are intended to cover minor illnesses, hardware malfunctions, and schedule conflicts with homeworks/tests in your other classes. Students should use their late days carefully, saving them for the latter part of the semester or (better yet) not using them at all.

No more than two late days may be used for any one assignment. Once the late days have been exhausted, late assignments will not be accepted without an excused absense note from the Student Experience office.

For example, if student X submits his/her 1st assignment 26 hours late, X will have used two late days and have only one day left. If X then submits another assignment 5 hours late, X will have used his/her last late day. If X then submits a 3rd assignment 1 minute late, it will not be accepted.

Electronic Submission

Make sure you read and follow the Academic Integrity statement which applies to all homework assignments. Once you've finished writing, testing, debugging, and commenting your code, prepare your assignment for submission as described below.

Re-read the assignment description and collect all of the necessary files for submission. Be sure to include your plaintext README.txt (use the provided template for the assignment), your .cpp and .h code files, and any other files specifically requested for the assignment. You do not need to include any compiled object files or the executable. The server will ignore these files if they are included. You do not need to include any of the provided input data files or your output files for the basic homework --- these will be re-generated by the server. But you should include and new data input files and corresponding output for any extra credit you completed, as described in the assignment description.

Next, create a zip file containing these files. Do not use any other compression or archiving format as the server will not know how to uncompress your files. Do not zip up any directories or folders. Just directly zip the files.

  • If you're using Cygwin/Linux/FreeBSD/UNIX/MacOSX type:

    zip README.txt myfile.cpp myotherfile.cpp myheaderfile.h

    Replace myfile.cpp myotherfile.cpp myheaderfile.h with your actual file names. Note you can use *.cpp *.h to indicate all .cpp and .h files in the current directory.

  • If you're using Windows, you can alternatively use WinZip to create a new archive named and then drag & drop the files the archive. Again, don't zip up the folder containing the assignment files, just zip up the files.

Next click the submission link below. You will use the login & password for your Computer Science account (not your RPI RCS account) to access this page. You should have received an email with the Computer Science account login information the first week of classes. Contact the instructor if you registered on or after the first day of classes and did not receive a Computer Science account.

Homework Submission (link disabled)

Select the radio button for the appropriate assignment, and then use the browse button to select the zip file you just created and press the "Send File" button only once.

Homework Submission Server Automatic Grading

The homework submission server will unzip your submission, compile your code with g++ 4.6.3, and then run the resulting executable on several test cases. It will inform you of any compile, link, and runtime errors or warnings and will present the results of these tests for your review. Your grade for the homework will be a combination of this online testing of your code and (later) a TA's review of the structure, efficiency, and overall quality of your code (see also homework grading guidelines), plus the TA's grading of any additional non-code parts of the assignment.

You will have practice using the submission process during the first lab. Please see a TA during office hours if you need additional help writing portable code.

Carefully check the result of your submission. Verify that all necessary files were received by the server. Confirm that your code compiled and ran successfully. If you find a mistake in your homework, you can fix it and re-submit using the same procedure. We will only grade the most recent submission. Please see a TA in office hours if you need help preparing your assignment for successful submission. If the automatic grading of your homework seems unfair and you are unable to correct your program, make a note to the TAs in your README.txt file asking them to take another look at your output. The TAs are able to adjust the automatic grading if necessary (but this is rare).

Note on # of submissions: Do not use the homework server as your sole development/testing platform. You should use your laptop as your primary testing & debugging interface. However, don't wait until the last minute to submit for the first time. You should do an early practice submission of a partially working version of the homework to confirm you are on the right track. A small point penalty will be assessed if the count of your submission attempts is greater than 20 for any one homework assignment.

Note on submission file size: If you accidentally include lots of unnecessary "stuff" in your zip file, it may be too big for submission. If you think you have only included the necessary files and yet the server still complains about the size of the .zip file, contact the instructor -- but please don't send your homework files by email!

Note of the submission server: If the homework server crashes or is unresponsive, or if your submission attempt fails and you cannot make sense of the submission server output, check the announcements page and LMS to see if it is a known submission server problem. Otherwise, contact the instructor and your graduate lab TA for help -- but please don't send your homework files by email!