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:
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
Click on the link above to learn more.