IST236: Data Structures
Course Syllabus
Fall 2002, MW
Instructor |
: Brian M. Morgan |
Office |
: Prichard
Hall 212 |
Phone Number |
: (304) 696-6469 |
Fax Number |
: (304) 696-6533 |
Office Hours |
: MWF: T, R:
T: |
E-Mail |
Textbooks:
The following textbook is required for the course:
Data Structures and the Standard Template Library, by William J. Collins; McGraw Hill; ISBN: 0-07-236965-5, 2003.
Computer
Requirements:
Supplemental materials can be found contained within the WebCT environment (http://webct.marshall.edu/). I will be sending class announcements,
updates, etc. using your WebCT account (will cover during the first lecture for
those who have never used it). Access to
a WWW browser is required (Netscape 4.5 or higher or Internet Explorer 5.5 or higher)
and Adobe Acrobat Reader (available for download through the course’s WebCT
site). You will also be required to
obtain a copy of Microsoft Visual C++ .NET for programming projects. This software can be obtained for free
through the
Course
Description:
This course covers
linear and non-linear data structures and representation structures which
support distributed and virtual platform computing and applications
environments, and data manipulation algorithms.
Credit:
The course is three (3) credit hours. It includes classroom
lectures, quizzes, exams, and programming projects. Students will participate
in projects that illustrate the implementation of concepts in general
applications.
Pre/co-requisites:
PR - IST163 – Programming Practicum w/C++
Desired Objectives/Outcomes:
By the end of this course, you should be able to:
-
Demonstrate
a disciplined approach to problem solving methods using data structures
-
Provide
a clear understanding of the concepts of data abstraction and abstract data
types
-
Identify
a number of the basic data structures used in computer science
-
Demonstrate
the concepts of proper object oriented programming
-
Demonstrate
the use of specific data structures such as lists, stacks, queues, and trees
-
Be
able to program using recursion
Instruction method:
There will be 3 contact hours of classroom lecture per week. Projects covering
the major topics are part of the course.
Students may work on their assignments in Prichard Hall 200, 207, or from
home with Microsoft Visual C++ .NET (only).
Evaluation method:
Evaluation of student's performance will be based on the quality of your
performance on projects, quizzes, and exams.
Grading Policy:
2 in-class Exams |
30% |
Final Exam |
20% |
Programming Projects |
40% |
Quizzes |
10% |
Assessment
of Projects:
The
grading of all laboratory programming projects will take into account the
following:
1.
Although the most important attribute of a program is
correctness, grading will take into consideration such items as time and space
efficiency, documentation, etc.
2.
Programs must have proper inline documentation and
must be properly indented. 20% will be deducted for poorly documented and/or
poorly indented code.
3.
All submitted code must compile correctly. Code that
does not compile will receive a 0. DEBUG YOUR CODE BEFORE SUBMITTING IT!!
4.
When a problem does not specify a required
complexity, the grading will differentiate between efficient and nonefficient
code. For example, if you write a program that contains a number of
checks that are redundant and/or has one or more loops that iterate zero or one
time, up to 10% of the grade will be deducted.
5.
When a method name and/or parameters are specified in
an assignment’s description, you must use that name and/or parameters.
6.
When you write a function, remember that the function
should work for all possible inputs.
7.
Although interactions with other students are
encouraged, you must compose your own answers, unless otherwise noted.
Individuals
who utilize other people’s thoughts or ideas must provide appropriate
references to said resources. Failure to
provide such documentation will result in a failing grade for the assignment,
and may result in a failing grade for the course.
In
determining the overall grade for a project, you can expect the following
grades based on performance:
A –
Excellent work that meets and/or exceeds all of the requirements for the
project, the project is well-documented and completed efficiently.
B – Good
work that meets all of the requirements of the project, but may have errors in
documentation or contains errors in logic.
C –
Average work that meets all of the requirements of the assignment, but is
missing one or more of the items in its entirety that is mentioned in terms of
an A grade.
D – Below
average work which fails to meet one or more of the requirements of the
assignment.
F –
Unacceptable work which fails to meet two or more requirements for the project.
Final letter grades
are determined based on the following grading scale, or on the basis of an
acceptable contract made between the individual student and the instructor on
the first day of class:
90-100% |
A |
80-89% |
B |
70-79% |
C |
60-69% |
D |
Below 60 |
F |
The instructor reserves the right to change these values depending on the overall class performance and/or extenuating circumstances.
Policy Statement:
Assignments and Project: The course includes a number of programming
projects. All assignments are due BY THE BEGINNING OF CLASS on their due
date and must be submitted through the WebCT Dropbox. NO LATE ASSIGNMENTS WILL BE ACCEPTED.
Exams:
There are THREE exams: The first will come during Week 6, the second during
Week 12, and a comprehensive (possibly
take-home) Final exam (as scheduled). Exact dates and times of exams will be
announced in class. Anyone with an
overall score of 95% or above heading into the final exam will be exempt from
that exam.
Make-up Exams and Late Penalty: Make‑up exams
will not be given except under unusual circumstances and
satisfactory written justification. Any
student who misses an exam due to an unexcused absence will receive a grade of
zero for that exam with no opportunity for make-up or substitution. University excused absences or those
occurring with a good reason (and that reason must be given prior to missing
the exam – call and leave a message if you have to) will be excused. Make up exams must be taken within one week
of the original scheduled date. The decision whether to give a make up exam rests with the
instructor.
Attendance Statement:
As with last semester, I am NOT making class attendance mandatory. However, I will keep a record of who is
attending and who is not, easily done with quizzes. If you miss class, it is your responsibility
to catch up on material missed, and will not be the responsibility of the
instructor to catch you up on material missed during my office hours.
Withdrawal Policy:
The University withdrawal policy is followed in this course.
The last day to drop an individual course for the Fall
of 2002 is
University Holidays:
The class is officially dismissed on the following dates:
Labor Day
Thanksgiving
Topics and Methodology:
The following outline delineates the tentative class schedule with topics to be
addressed during the course. Please
note this is a tentative schedule and it may change upon class progress:
August 26 |
Overview of Course and Syllabus Introduction to MS Visual C++ .NET project
creation |
August 28 |
Chapter 1 Assign Project 1 – Programming Project 1.1 on
page 33 |
September 4 |
Chapter 2 |
September 9 |
Chapter 2 |
September 11 |
Chapter 3 |
September 16 |
Chapter 3 Project #1 Due |
September 18 |
Chapter 4 |
September 23 |
Chapter 4 Assign Project 2 – Programming Project 4.1 on
pages 154-155 |
September 25 |
Chapter 5 Review for Exam 1 |
September 30 |
Exam 1 |
October 2 |
Chapter 6 |
October 7 |
Chapter 6 |
October 9 |
Chapter 6 Project #2 Due |
October 14 |
Chapter 6/7 Assign Project 3 – Programming Project 6.2 on
page 251 |
October 16 |
Chapter 7 |
October 21 |
Chapter 7 |
October 23 |
Chapter 7 |
October 28 |
Chapter 8 Project #3 Due Assign Project 4 – Programming Project 7.2 on
pages 300-303 |
October 30 |
Chapter 8 |
November 4 |
Chapter 8 Project #4 Due |
November 6 |
Chapter 8 Assign Project 5 – Programming Project 8.1 on pages
350-351 Review for Exam 2 |
November 11 |
Exam 2 |
November 13 |
Chapter 9 |
November 18 |
Chapter 9 |
November 20 |
Chapter 10 Project #5 Due |
November 25 |
Chapter 10 |
December 2 |
Chapter 11 |
December 4 |
Dead Week - Review for the Final |
December 9 |
Final Exam |
For each topic
discussed in the textbook, specific experience of other students and the
instructor will be discussed to enhance the characteristics involved. Additional material may also be covered in
the class.
Every student is
responsible for all materials presented in class, including lectures, notes,
and handouts. In case you are not
present for a class, it is your responsibility to contact the instructor and
receive information about the material presented in that class. Class attendance is very important.
Effort Required:
As a 200-level course, a considerable amount of work and research effort is
required of the student. For every one
hour in class, the student is expected to put in an effort of at least 3 hours
outside the class for studying and completing assignments and projects. Upon background and preparedness, some
students may have to put in additional effort.
Communication:
The Bulletin Board facility of WebCT and private E-mail will be used to make
any general announcements, last minute changes, etc. It is mandatory that you monitor your WebCT
course messages at least once a day.