CSCI 1200 Data Structures
Fall 2017

Home
  Contact Information
  Announcements
  Discussion Forum (LMS)

Syllabus
  Learning Outcomes
  Prerequisites
  iClickers in Lecture
  Course Grades

Calendar
  Lecture notes
  Lab materials
  Homework
  Test reviews

Weekly Schedule
  Office Hours
  Lab Times

Getting Help
  Tutoring
  Advice from TAs
  Advice from Students

Homework
  Due Date and Time
  Late Day Policy
  Compilers
  Submitty
  HW Grading Criteria

Collaboration Policy &
Academic Integrity

C++ Development
  Code Editors & IDEs
  OS Choices
  Install WSL
  Install Cygwin
  Memory Debugging
    Dr. Memory
    Valgrind
  Test Your Installation

References
  Optional Textbooks
  Web Resources
  Misc. C++ Programming
    Command Line Args
    File I/O
    string → int/float

Course Grades

Lectures & iClickers

We will be using iClickers during lectures; however, iClicker participation will not be directly factored into the semester average.

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.

Homeworks

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. Please do not email your homework assignment to the instructor or graduate TA. 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.

Exams

Three tests will be given during the Monday evening test block. A cumulative final exam will be scheduled during finals week. These 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:

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.