CMCS 341 – Data Structures -- Fall 1998

University of Maryland, Baltimore County
Department of Computer Science

Instructor: Dennis L. Frey
Office: ECS 222
Office Hours: M, T, Th 1:00 - 2:00; W 3:30 - 4:30
Email: dennis@gl.umbc.edu
Phone: 455-3540


Course Description:

The course introduces the concept of the abstract data type (ADT). In addition to the ADT type extensibility, we will explore the object-oriented concepts of polymorphism and inheritance. Various data structures and algorithms will be described and studied. The relative merits of the various data structures and algorithms will be considered. Students will learn to analyze the demands of algorithms, to determine the more appropriate data structures, and to integrate those data structures into algorithms.

The programming language for this course is C++. Since the language will be new to many students, it will be taught, as needed, during the course. Students are expected to already have a good knowledge of ANSI C. Although students will learn a lot of C++, this is a secondary purpose of the course. The primary purpose of the course is on data structures and their associated algorithms


Academic Honesty

All projects must be completed by your own individual effort. You should never have a copy of someone else's project either on paper or electronically and you should never give a copy of your project, either on paper or electronically, to another student. Copying from other student's exams during examinations is not permitted and will be dealt with harshly. In all other respects, you are encouraged to help each other study and work on the projects.


Reference:

  1. Required Textbook

    Data Structures With C++, Ford & Topp, Prentice-Hall, 1996.
  2. Recommended C++ books

    C++ Primer Plus, Stephen Prata, Waite Group Press, 1991
    ISBN 1-878739-74-3
    C++ Primer, 2nd Edition
    , Stanley Lippman, Addison Wesley, 1991
    ISBN 0-201-54848-8
    The C++ Programming Language, Stroustrup, Addison Wesley, 1986
    C++ for C Programmers (2nd Edition), Ira Pohl, Benjamin-Cummings 1994

  3. Other References

    Data Structures and Algorithm Analysis in C++, Mark Allen Weiss
    Benjamin-Cummings 1994 ISBN 0-8053-5443-3
    Algorithms in C++, Sedgewick, Addison-Wesley 1992

Grading Policy:

     Homework Assignments (15 % total)
          3-5 assignments

	Programming Projects (40% total)
          4 projects, 10% each

	Exams (45% total)
         3 exams, 15% each

	A: 90 – 100
	B: 80 – 89
	C: 70 –79
	D: 60 – 69
	F: below 60

	The grading scale may be adjusted downwards (in your favor)
	The scale will not be adjusted upwards

	Projects are due at midnight on the due date.
     Late projects will be accepted up to 2 days late, with a penalty of 5% per day.
     Projects submitted early will recieve a 5% bonus.