CIS 356     Data Structures
Course Syllabus

Instructor:                        Dr. Roman Erenshteyn
Office:                              CIS Faculty Suite, Fulmer Center's ground floor
Phone:                             (302) 225-6315
E-mail:                              roman@gbc.edu
Homepage:                      http://goldey.gbc.edu/~roman/
Office Hours:                   as posted & by appointment
Tutorial Hours:                by appointment

Course Description
 

This course will advance the students' understanding of computer programming while studying several
data structures, including stacks, queues, linked lists, trees, graphs, networks, and their associated
algorithms. Algorithm efficiency questions also will be covered. Pseudocode, C, and C++ programming
languages will be used for algorithm implementation. C expansion to C++ also will be discussed, including
classes, containers, and inheritance. In order to complete this course successfully, students should be
prepared to spend a minimum of five hours per week in the computer lab in addition to regular class attendance.

Prerequisite

Completion of CIS253 and CIS254 with a grade of C- or higher is required.

Textbooks
 
Richard F.Gilberg, Behrouz A.Forouzan,   Data Structures. A Pseudocode Approach
with C. Second Edition. Thomson Learning - Course Technology, 2005

Additional text:  D.S Malik,  Data Structures Using C++, Thomson Learning - Course
Technology, 2003

Materials
 

Media:                          Flash Drive
It is recommended to submit your homeworks using BlackBoard's Assignment Section.
 

Topics Covered


The following is a list of tentative subjects for this course in no particular order, which may be changed without
notice at any time at the instructor's sole discretion. Students should reference the lecture outlines on the course
web page for weekly lecture outlines, and reading and other assignments.

     C/C++ programming language review

     Algorithm Analysis

     Searching

     Linear Lists

     Stacks

     Queues

     Recursions

     Introduction to Trees

     Search Trees

     Heaps

     Graphs

     Advanced Sorting Concepts
 

Policies

Attendance
 

Attendance is taken during each class.  Attendance for the duration of every class is essential for having
any chance of passing this course. Important information including, but not limited to, the course schedule,
assignments, tests, and many other items of importance are covered and discussed during class time, as needed. 
Students are responsible for being informed of all relevant course information that transpires during class time.
Students missing any part of any class need to make arrangements with a classmate for "catching up" on any
missed material, notes, assignments, handouts, etc. Almost all class assignments could be found in course
homepage. A special "Information Desk" homepage is included, where important information will be posted.
It is students' responsibility regularly check course homepage. Remember, the homepage is developed to avoid
wasting of paper and time.

Please, don't be late. Class doors are closed 5 min after class begins!
 

Late Assignments
 

Assignments are due when they are due and are generally collected at the beginning of class. A 5%
penalty will be applied for each day an assignment is late, including the first day and weekends.
Late
assignments will be accepted for not more than 7 days after the due date unless a special
arrangements
were made. Late assignments may be submitted to the instructor's office during
non-class time. Submission
through BlackBoard's DropBox is a preference. Attachments should
be prepared in MS Word. Program
listings and results should be copied to MS Word document from
MS C++ compiler. Each assignment
should be submitted as one MS Word file!
Hand-written homeworks will not be accepted.

No assignment will be accepted after the start of the last regular class of this course.
Note:     It is better to submit completed assignments a day or two late rather than an incomplete assignment
              on the due date. Students will usually fair much better by submitting a
completed assignment, even
              if it is a day or two late. Don't wait for the due date!

 

Make-up Tests
 

Make-up tests are rare and will be given only in cases of documented serious illness or other emergencies. To be
eligible for a make-up test, the student must provide an acceptable excuse prior to the scheduled date and time
of the test.  In the event a make-up test is granted, the student is responsible for taking the test before the start
of the next class. If the instructor is not notified prior to the scheduled test time and still permits a make-up, unless
a satisfactory reason is given for the lack of notification, a 20% reduction of grade will be incurred. If the next
class is scheduled on a day the college is closed, the make-up test must be taken prior to the closing of the college.

Academic Honesty
 

Helping a classmate is very honorable, but sharing solutions is strictly prohibited. All work is to be done
individually, unless explicitly stated otherwise. Anyone caught cheating, copying solutions or electronic
files, or performing any other activity that may be construed as dishonest will be punished up to
dismissal from class with a failing grade and will be reported to the Academic Honesty Commitee.
Remember, that the programming's state-of-art is very individual. Don't forget that when
copying other students projects and/or assignments you can copy their errors too
 

Semester Grade

Six homeworks will be worth 30% of the final grade, the project - 10%.

Four tests will be worth 60% of the final grade. 

The percentage will not be rounded to the closest integer.
Up to five points could be added for active participation in the class!
Up to seven points could be deducted for failed tests (1 pt. each) and/or bad attendance (3 pts. for more 
than 2 missing classes)!

A letter grade based on the total percentage achieved will be given in accordance with the College's
grading system.

No grade negotiation, please! Everybody deserves what she/he deserves!

Correction of Grades

If an error is made in grading any of your work or your final grade, I will be glad to make a correction.
However, the error must be called to my attention within two weeks of the return of the material in question.
In the case of final grades, the error must be called to my attention within two weeks of the next regular semester.

 

Getting Help
 

If help is needed, students are advised to seek it immediately.  The ARC doesn't provide tutoring on the course
subject. The best way to reach the instructor is by e-mail at
roman@gbc.edu. Individual assistance will be nearly available at nearly any time
I am in my office. Office and tutorial hours are set up to ensure that when you arrive, I'll be there.

 

Working Together
 

You are encouraged to partner with one or more other classmates. Should it be necessary for you to miss class,
a partner can take notes for you, grab extra copies of the assignment. And, when you're having difficulty with
an assignment, why not get together with your partner(s) in the computer lab?
However, each student must prepare the homework. Do not copy another's disk! If you do, you and the
person from whose
work you copied will receive a grade of zero for that homework!

Computer Software
 

The following software will be in use this semester:   Microsoft Visual Studio 2005 or Microsoft Visual C++ 2005
Express Edition, MS Word. This and other software is available in the Computer Lab.

Academic Honor Code
 

All courses taught at Goldey-Beacom College are governed by the GBC Academic Honor Code. 
Click on the link above to learn more.