modified at midterm

Document Sample
modified at midterm Powered By Docstoc
					                                                      CS221, Data Structures
                                                      Spring 2011, (3 credits)
                                                 Tues. Thurs. 2:30-3:45pm, PHYS1

INSTRUCTOR: Dr. Cynthia J. Martincic         OFFICE HOURS: Mon. noon-2pm,
OFFICE: 202 Physics Building                               Wed., Fri. 9am -10am
PHONE: 724-805-2418 or x2418                               Tu., Th.1pm-2pm
EMAIL:               Also by appt. or drop-in.


COURSE DESCRIPTION: This course continues the objected oriented study of data structures and their associated algorithms begun in CS111.
Various implementations of data structures and the efficiency of the implementations of data structures and the efficiency of the associated
algorithms are discussed. Topics to be covered include stacks, queues, keyed tables, recursions, linked lists, binary trees, B-trees, and other types of
trees, sorting, searching, hash functions, and external sorting. The Standard Template Library and GUI‟s in the .NET environment will be
introduced and utilized.

Upon completion of this course the student should:
   Describe some aspects of Software Engineering and how they apply to producing better software.
   Be able to write programs using good programming style and practices.
   Be familiar with a variety of complex data structures in C++, such as linked lists, binary trees, heaps, hash tables, B-trees, and AVL trees.
   Be familiar with a number of algorithms for operating on those data structures.
   Be familiar with the Standard Template Library of Visual C++.
   Have obtained more significant programming practice.
These objectives will be assessed mainly through the use of homework assignments, small projects and exams.

TEXT: C++ Classes and Data Structures. J.S. Childs Pearson/Prentice-Hall ISBN 0-13-514123-0. We will also use Brother David Carlson‟s
webpages at Other texts on the C++ programming language and data structures may be referenced as

Additional readings may be assigned and will be available from the instructor.

Assignments, Projects, In-class work and participation:                50%
Quizzes and Exams:                                                     50%

The final grading scale may be curved at the discretion of the instructor, but in order to monitor your progress during the term, you should assume the
SVC grading scale as printed in the College Bulletin. Curved grades will result in a higher letter grade than that achieved solely by the percentages
above. For example, an earned „B‟ may become a „B+‟. The curve depends upon the performance of the class as a whole as well as individual class
participation and perceived effort.

There will be three exams, which, in total, will account for fifty percent of the final grade. Exams may cover any topics discussed in class, in the text,
in any additional readings and in the assignments. Exams must be taken when scheduled. One handwritten 8x11.5” page of notes may be brought to
the exam. No other books, notes, electronic devices or other assistance (including other people) are to be used during exams. Cell phones, pagers,
PDAs, calculators, beeping watches and computers must be turned off during exams. Once an exam has begun, you are not permitted to leave the
room until you hand in the exam.

If any students miss a test due to verifiable extreme circumstances, the average of the other two exams will be used in place of the missed exam. If
any student misses an exam for any other reason, a zero will be recorded as the grade for the exam. (For a definition of “verifiable extreme
circumstances” see the Section labeled “DEFINITION OF EXTREME VERIFIABLE CIRCUMSTANCES”.) NOTE: It is CIS department policy
that you must have a passing average on the exams in order to pass the course.

In most cases, for this class, assignments involve programming. For all programming assignments, a hardcopy of the properly formatted and
commented program will be turned in and the source code placed on the appropriate CIS dept. network drive. Any other assignments should be
word-processed if at all possible. If handwritten, the handwriting must be clear and legible.

CS221, Data Structures.
If you cannot attend a class: Assignments are due at the beginning of class on the date specified. Assignments may be placed in the appropriate
network drive or emailed to me if you cannot attend a class, but will not be graded until a paper copy is submitted. The emailed assignment must be
received before the start of the class when the assignment is due and must be submitted as .cpp and .h files. The paper copy must be submitted by the
next class period or no points will be awarded for that assignment. Assignments should be emailed only in case of some emergency and emailed
assignments will not be accepted more than twice a term. Late assignments will be accepted for two weeks beyond the due date, but points will be
deducted based on the number of days late and whether or not the solution to the assignment has been discussed in class.

Do not turn in any exercise or assignment on paper torn from spiral-bound notebooks or on any size paper other than 8.5x11 inch. Multiple pages
must be stapled or paper-clipped together. Points will be deducted if multiple pages are not stapled or paper-clipped. For all assignments and
exams, illegible answers will not be graded and no points will be awarded. At any time, you may be asked to explain the code you turned in
for an assignment. If you cannot explain the code for your assignment, you will not receive any points for that assignment.

Students who are participating in sports are expected to follow the College Handbook procedures for excused absences from class and exams.

It is very natural for students to talk to and confer with other students when having problems with an assignment. In fact, discussing problems with
others is a great way to enhance learning. However, you must do your assignments on your own except when group projects are explicitly assigned.
If assignments from two or more students are unduly similar, they will be considered to be in violation of the SVC Academic Honesty Policy, and
will be treated as such under the guidelines of that policy. “Unduly similar” in this case means that a prudent individual would reasonably conclude
that the assignments were written/completed by the same person. The assignment grades for those students involved will be severely penalized and
the incident will be reported to the Academic Deans Office. The Academic Honesty policy contained in the Saint Vincent College Bulletin will be
adhered to in this course. Please refer to the Bulletin for details.

Students with disabilities who may be eligible for academic accommodations and support services should please contact Mrs. Sandy Quinlivan by
phone (724-805-2371), email ( or by appointment (Academic Affairs-Headmaster Hall). Reasonable
accommodations do not alter the essential elements of any course, program or activity.

Class attendance is most strongly recommended. Some classes will include in-class assignments, quizzes or computer lab work for which points
will be awarded. Additional points may be added to the final grade based upon class participation. If you miss a class, it is your responsibility to get
any notes, handouts and assignments. If a medical or sport excuse is provided, you will be given the opportunity to make up missed in-class
assignments or quizzes. You may miss 2 classes without an excuse before your absences affect your grade. For every unexcused absence after the
2 allowed, 3 points will be deducted from your final grade.

Everyone involved in this class is expected to treat others with respect. Respectful behavior includes minimizing distractions during class. Cell
phones, pagers, beeping watches extra should be muted during class. If you have a need to keep a cell phone or pager on during class, please let me

If a class or office hours must be canceled for any reason, I will try to contact each of you by email as soon as I know of the cancellation and it will
be posted on the course BB site. If assignments are due when a class has been canceled, they may be turned in at the next class without penalty.

Students should consult the CIS Department Policies webpage ( for additional information regarding course and
department policies.

Examples of extreme circumstances are serious illnesses or the death of a family member. Examples of non-extreme circumstances are
nonrefundable airline tickets, sporting events and concerts. Proof of the extreme circumstance will be required, such as a note from a nurse, doctor or
coach, or an obituary notice.

                                  CS 221 Course Syllabus, Spring 2011
                              (subject to modification as the term progresses)

Week   Topics, Readings and Assignments
1/10       Course pragmatics
        Program formats for assignments
        Review of concepts from CS110 and CS111
       Assignment #1 (5 points) - send me an email with the following information. . (1) Name, (1a)Name you wish
       to be called, (2) Preferred Email Address, (3) Phone Number(s), (4) Campus Post Office Box number (or
       local address), (5) Class Year: (e.g., Freshman, Sophomore, Junior, Senior), (6) Your Major/Minor (7) Your
       reasons for taking this course, (8) Your previous programming and computer experience.
        Future assignments will be announced in class and posted on Blackboard.
1/17     Continue review of CS110 and CS111 concepts
1/24     Ch. 1 Structs and Classes
1/31     Ch. 2 Overloaded operators, class templates and abstraction
2/7      Ch. 3 More about Classes
         Standard Template Library - See -
2/14     Ch. 4 Pointers and Dynamic Arrays
         C++ exceptions See -
         Ch. 5 An Array Class
2/21     Ch. 6 Intro to OO Programming
         Exam 1 on Reviewed material, Ch. 1-5 and additional readings this week.
2/28    Spring Break ☺☼☻ 2/26 – 3/6
3/7     Ch. 7 Methods for Making Data Structures
        Ch. 8 Stacks and Queues
3/14    Ch. 9 Introduction to Time Complexities
        Ch. 10 The Linked List as a Data Structure
        Advanced Linked Lists See -
3/21    Ch. 11 Hash Tables
        Hash Tables See -
        Ch. 12 Priority Queues, Trees and Heaps
3/28     Exam 2 ch 6-11 and additional readings this week. 
        Binary Trees - See -
4/4     Ch. 13 Recursion
        Ch. 14 Sorting Algorithms
        Review selection sort and bubble sort
4/11    Merge Sort See -,
        Quick Sort See -,
        Heaps and Heapsort See -
4/18    Ch. 15 Other Data Structures
        AVL Trees See –
        No Class on 4/21 or 4/22 Easter Break 4/21-4/25
4/25    Easter Break 4/21-4/25 No Class on Monday April 25th
        B-Trees See -
5/2     Final Exam  Tues. May 3, 1:30-3:30pm


Shared By: