CSCI 132
Introduction to Data Structures
College of the Holy Cross, Fall 2017

Home | | Schedule | | Assignments | | Lecture Notes


Course Web Page
If you are viewing this on the web, you're here! Otherwise, find this page and other course information at http://mathcs.holycross.edu/~csci132


Instructor
Zack Fitzsimmons
Office: Haberlin 310
Extension: 2546
Email: zfitzsim@holycross.edu
Office Hours: Tuesday 4:00 PM-5:00 PM, Wednesday 10:00 AM-11:30 AM and 4:00 PM-5:00 PM, or by appointment.


Lecture and Lab times

Lecture (Swords 321): Monday/Wednesday/Friday 9:00 AM-9:50 AM.

Lab (Swords 219):
Section 10A: Tuesday 10:00 AM-12:00 PM.
Section 10B: Tuesday 2:00 PM-4:00 PM.


Course Description
Now that you know some of the basic tools of computer programming, this course will teach you to use those tools in an effective way. There are four main ideas we will be addressing in this course:

  1. Data Abstraction: In order to build programs that solve complex problems, it is important to specify the properties and behaviors of certain parts of the program independent of the implementation. We will learn about Abstract Data Types to think about specification and manipulation of these components of code.
  2. Modularity: Each piece of a program is much more useful if it can be combined with multiple other program pieces in a modular fashion. We will learn how to build program modules that can be used and reused in different programs.
  3. Algorithmic Complexity: Some solutions to problems are better than others in terms of their efficiency. Some have efficient use of memory space; others run more quickly. We will learn some tools to evaluate the efficiency of different algorithms.
  4. Standard Tools: We will learn some of the standard tools that should be a part of every programmer's toolkit. These include Stacks, Queues, Searching & Sorting algorithms, Tables, and Trees.


Prerequisites
CSCI 131 or permission of the instructor. You should be comfortable with the basics of programming.


Textbook
Required: Data Structures and Program Design in C++, by Robert Kruse and Alexander Ryba, Prentice Hall, 1999.

It is expected that Holy Cross students will have textbooks and other required class materials in order to achieve academic success. If you are unable to purchase course materials, please go to the Financial Aid office where a staff member will be happy to provide you with information and assistance.


Coursework

Homework Assignments (30%)
There will be nine homework assignments, which will require programming in C++. The lowest homework grade will be dropped. However, a zero for cheating will not be dropped.

Lab Assignments (10%)
There will be weekly lab assignments to be completed in the two-hour lab each week. Attendance at the labs is mandatory. Lab assignments should be completed by the end of lab, but will be accepted without penalty by 9:00 AM Wednesday the week the lab was assigned.

Midterm Exams (20% + 20%)
There will be two midterm exams. Their dates are listed below.

Contact me immediately if you have a conflict.

Final Exam (20%)
There will be a comprehensive final exam, Friday, 12/15, 8:00 AM-10:00 AM, Swords 321.

Late Policy
Homeworks #8 and #9, and Labs #9 and #10 may each be submitted up to two days late for a penalty of 10% each day (i.e., the maximum possible score is 90% for an assignment submitted one day late and 80% for an assignment submitted two days late. Note that this penalty is determined based on when all parts of the assignment have been successfully submitted.


Grading
Numerical grades will be converted to letter grades according to the following scale.

This grading scale may be shifted down when calculating final course grades (i.e., a given numerical grade may convert to a higher letter grade), but this grading scale will not be shifted up (i.e., a given numerical grade will not convert to a lower letter grade than listed above).



Collaboration Policy
Collaboration on assignments is acceptable, although you must write the code for your programs entirely by yourself. You must also acknowledge the people you worked with on an assignment. If your program includes code that you obtained from another source, please acknowledge it. Specifically:

Please refer to the Math and CS Department Statement on Academic Integrity and the College Statement on Academic Integrity.


Disputing Your Grade
If you feel that an error was made in grading your work, you have one week from the moment the graded work was handed back to the class to dispute your grade. Grading issues should be taken up with me directly.


Excused Absence Policy
Exams and/or labs will only be rescheduled in the case of a valid reason with formal documentation. Please refer to the College's Excused Absence Policy and contact me as soon as possible to discuss your particular situation.


Disability Services
Any student who feels the need for accommodation based on the impact of a disability should contact the Office of Disability Services to discuss support services available. Once the office receives documentation supporting the request for accommodation, the student would meet privately with Disability Services to discuss reasonable and appropriate accommodations. The office can be reached by calling (508) 793-3693 or by visiting Hogan Campus Center, room 215A.

If you are already registered with Disability Services, please be sure to get your accommodation letters and deliver them to your instructors in a timely fashion. Instructors need 4-5 days advance notice to be able to facilitate the process of receiving testing accommodations.


Home | | Schedule | | Assignments | | Lecture Notes


Zack Fitzsimmons--zfitzsim@holycross.edu
Computer Science 132--Data Structures
Last Modified: November 16, 2017
Page Expires: December 16, 2017