CSCI 1200 Data Structures
Spring 2013
  Contact Information

  Discussion Forum (LMS)

  Learning Outcomes
  Grading Criteria
  HW Grading Criteria

  Optional Textbooks
  Web Resources
  C++ Development
  Misc. Programming Info
  Memory Debugging

Getting Help
  Advice from TAs
  Advice from Students

  Lecture notes
  Lab materials
  Test reviews

Weekly Schedule
  Office Hours
  Lab Times

Academic Integrity

  Due Date and Time
  Late Day Policy
  Electronic Submission

Homework Due Date and Time

Homework assignments are due Thursday nights at 11:59pm. Homework is submitted electronically and submission times will be judged from the timestamp given by the web server; that is, our clock, not yours. If it 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: Do not email your homework assignment to the instructor or the TAs. We will only grade material submitted to the submission server.

Homework Late 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. Thus, 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 and 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.


You may do your programming work for this course with any C++ compiler and development environment you wish, but your submitted homework code must compile and run under gcc/g++ 4.6.3. The code must compile and run successfully on the homework submission server for you to earn the points for program correctness. Ensuring that your code runs properly on the server allows us to significantly streamline the grading process for your TAs. This leaves more time for us to give constructive feedback on programming style, individual tutoring, and debugging help.

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. Also, see the page on C++ development environments for more information.

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 sample output for the basic homework --- these will be re-generated by the server. But you should include and new data input files and sample 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/Mac OSX 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 (be sure to change your password promptly). 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.

You will either get a message confirming your submission or an error message advising you of a submission requirement you failed to adhere to. 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 ask a TA if you need help preparing your assignment for submission.

Note: 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 by email (don't attach your homework submission!).

Another note: Do not use the homework server as your sole development/testing platform. You should use your laptop as your primary testing & debugging interface, and submit to the server when you are confident your solution is correct. A small penalty may be assessed if the count of your submission attempts is unreasonably high.