CSCI 1200 Data Structures
Fall 2013

  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

Course Grades

Lab Assignments

There will be a total of 14 programming labs, one each week. Labs are graded on a scale of 0-3, depending on the amount and quality of work completed. Labs are designed so that students who work diligently can earn all 3 points. You must attend your assigned lab sections unless prior arrangements have been made with the graduate TA for your lab section (see Schedule). To receive credit for the lab exercises, the work must be completed in lab and approved by the lab TA before the end of lab (10 minutes before the hour). TAs and undergraduate programming mentors are available in lab to answer your questions as well as check off your work. Don't wait until the end of lab to ask questions or show your work.

Lab instructions and a subset of the lab problems will be posted on the course website by Tuesday early evening, before each Wednesday lab. Students are encouraged to read through the materials and get started on the exercises before their assigned lab section. Additional problems will be distributed at the start of the lab. Students should bring their laptop, reference textbook, and recent lecture notes to lab.

Internet access during labs is restricted to lab file downloads and standard programming reference material only. Reading or sending email, instant messages, social media, text messages, cell phone use, playing video games, etc. is disallowed during lab. Students who violate the policy will receive a 0 for the lab and be asked to leave.


There will be 10 homework assignments, one each week, except for weeks when a test is scheduled. Assignments will be submitted electronically and are due on Thursdays by 11:59pm. Homework assignments will be made available on the course web site at least one week before the deadline and all material for the homework will be covered by the end of Friday's lecture. Students are encouraged to start the assignments over the weekend, and ask the instructor and TAs questions about the homework on LMS or in office hours early in the week.

See the Homework page, the Academic Integrity page, the HW Grading Criteria, and the Programming Advice from TAs page for more information.


Three tests will be given during the regular lecture period and a cumulative final exam will be scheduled during finals week. These are are pencil-and-paper tests that will focus on problem solving by writing C++ code. The exams will also include short answer and diagram-based questions. Sample exam problems from prior semesters will be distributed about a week before each exam.

The course material is cumulative and students should strive to improve their performance on each subsequent test. When a student "beats" their previous test score, the previous test score will be replaced with the average of the two scores. For example, if a student gets a 70 on Test 1 and an 82 on Test 2, the first test score will be replaced by the average of Tests 1 & 2 = 76. If the student then earns an 88 on Test 3, the second test score will be replaced with the average of 82 and 88 = 85. (Note that we don't go back and re-adjust Test 1). And similarly, the score for Test 3 will be adjusted if the student's performance on the final improves upon their performance for Test 3.

Important Note: We will not provide a makeup exam unless the absence is excused by the Student Experience office.

Semester Average

Your final grade in this class combines your performance on the lab exercises, homeworks, and exams as follows:

  • Labs: 15%
  • Homeworks: 35%
  • Tests: 30%
  • Final: 20%

All components of the class are graded on a curve. What does this mean? The homeworks and exams will contain challenging problems and the grade breakdown will likely be lower than the typical 90%=A, 80%=B, etc. We will announce the curve for each exam and homework when the grades are returned.

Important Note: You must have a passing average on each component (labs, homeworks, and exams) in order to pass the course.

Grade Summary

Grades will not be available through LMS. Your graded homework and a summary of your recorded grades will be available on the homework submission server. This will allow you to gauge your overall performance. Here is a example of what the grade summary will look like:

B82.77 11.931.623.515.7 76.584.074.8 118.0
PERFECT  100.0100.0100.0 100.0100.0100.0 150.0
LOWEST A  13.431.725.116.3 122.0
LOWEST B  11.927.321.814.4 80.067.570.5 108.0
LOWEST C  9.522.218.012.9 66.053.560.8 97.0
LOWEST D  7.217.915.410.8 55.047.552.0 81.0

# of students362114271614181379
avg. OVERALL92.387.184.681.076.572.968.264.160.958.4

Note: Because the exams and homeworks change from year-to-year, the curve for each homework/exam and the final average will be adjusted accordingly and will not be exactly the same as this sample.