CPTR 247W  Data Structures - Syllabus

August 25, 2008

 

Instructor:  Dr. Eileen M. Peluso, D325 Academic Center, Extension 4135

 

Email:  pelusoem@lycoming.edu

 

Office hours:  Posted at http://www.lycoming.edu/~pelusoem.

 

Objective:  Representations of data in the form of various data structures will be presented and analysis of algorithms associated with these data structures and other processing techniques will be discussed. Additionally, implementations of data structures in the Standard Template Library will be examined and students will gain experience with their utilization.   Data structures covered include vectors, lists, trees, graphs, strings, priority queues, heaps, hashes, and graphs.  Algorithms covered include searching, sorting, and recursion.

 

This course is a W (writing intensive) course.  It has been approved by the Writing Committee and will satisfy part of your W graduation requirement.  Specifically, it means there are at least 10 pages of formal writing and at least 15 pages of informal writing.  Documents detailing the writing component are attached.

 

Text: William J. Collins, Data Structures and the Standard Template Library, McGraw Hill, 2003.

 

Grading: 

·         Programming and homework assignments:  25%

·         Informal writing assignments: 5%

·         Formal writing component: 10%

·         Exams(2): 40%  (See attached calendar for tentative dates)

·         Comprehensive Final: 20%

 

Grade scale: If you earn the following average, you will receive at least the grade indicated.


·         93.0 or above       A

·         90.0 to 92.99        A-

·         87.0 to 89.99        B+

·         83.0 to 86.99        B

·         80.0 to 82.99        B-

·         77.0 to 79.99        C+

·         73.0 to 76.99        C

·         70.0 to 72.99        C-

·         67.0 to 69.99        D+

·         63.0 to 66.99        D

·         60.0 to 62.99        D-

·         59.99 or below     F


 

Attendance Policy:

Students are expected to attend class and recitation, and to be on time.  Attendance signature sheets will be circulated at the beginning of each class period.  It is the student's responsibility to make sure that they have signed the day's attendance sheet.  It is also the student's responsibility to obtain details about any missed work, announcements, and any information disseminated during the missed classes.

 

Remarks:

1.       Students will not be excused from exams unless

·         they are ill and have been to the infirmary or have seen a doctor, or

·         they have an emergency situation and have received exemption from the dean. 

It is wise to contact me before missing an exam. Any tests missed will result in a grade of zero unless arrangements for a make-up are made within 48 hours.

 

2.       The attached term planner highlights those days on which exams are scheduled and formal writing components are due.  Reading assignments are also itemized.  You are to read the assigned material BEFORE coming to class on that day.

 

3.       As with other writing assignments, a certain amount of the grading of programming assignments will be subjective.  As a matter of principle, if you have a program that works according to the specification given in the assignment handout, that should earn you at least a C-range, but most likely a B-range grade.  The difference between a B and an A comes down to documentation, structure and style of programming.  All of these aspects will be discussed as they come up in the course.

 

4.       Students are encouraged to work collaboratively on course work, including programming assignments and lab exercises. In fact, students taking computer science courses will be given priority access to lab A3 from the hours of 7-10 PM on Sunday through Thursday evenings. 

 

Discussions with other students about programming assignments are encouraged; however academic dishonesty is not allowed.  There is a fine line between the two.  Check with the instructor if you are not sure that what you are doing is acceptable. However, as a general rule of thumb: The difference between sharing ideas and plagiarism will be determined by the instructor as follows: if you cannot discuss, expound upon, justify, and modify what you have written, then you have plagiarized.

 

NOTE: You should never have in your possession or have access to (in paper or electronic form) a copy of someone else's solution to a programming assignment.

 

5.       A student tutor will be available three evenings a week to help with questions concerning course material and assignments.  The time and place will be announced later.  One-on-one tutoring can be arranged through the ARC (Academic Resource Center – call 4392 or check http://www.lycoming.edu/arc/tutoringschedule.htm).

 

6.       Programming assignments can often take a lot of time.  Don’t plan on finishing a programming assignment in one sitting.  Instead, spread it out over a few days.  Programs that are developed and refined over a few iterations end up with much cleaner structures and are easier to understand.