CPTR 247WData Structures - Syllabus

August 26, 2013


Instructor:Dr. Eileen M. Peluso, D325 Academic Center, (570) 321-4135




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 the 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, stacks, queue, trees, priority queues, heaps, hashes, and graphs.Algorithms covered include searching, inserting, deleting, and sorting.


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: D. S. Malik, Data Structures Using C++, 2nd edition, Course Technology Cengage Learning, 2010.



         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.



1.       Students will not be excused from exams unless they are ill or have an emergency situation.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.       There are no group tutors or one-on-one tutors for this class.Students are encouraged to work collaboratively on course work, including programming and homework assignments. Discussions with other students about programming and homework assignments are encouraged; however academic dishonesty is not allowed.There is a large gray area between the two extremes.Check with the instructor if you are not sure that what you are doing is acceptable. 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.       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.