Course Information
Course Title: Data Structures and Objects
Course Number: CSIS 2617
Section Number: 0621
Course Discipline: Software and Programming
Course Description: Advanced computer programming design, implementation and testing, with a primary focus on data structures and abstraction.
Course Date: Aug 26, 2002 through Dec 15, 2002
Credit Hours:  4 hours (3 hours lecture and 2 hours lab)
Prerequisite(s): CSIS 2610 (CSIS 610) with a grade of C or better.
Classroom Location: 103, 103, 304, Meshel Hall

Meeting day(s) 

and Hours:

10:00-11:15 Monday, 10:00-11:15 Wednesday, 10:00-11:50 Friday
Department Location:  339B, Meshel Hall
Web Page http://webcourses.ysu.edu:8900/webct/public/home.pl
Instructor Information
Name: Dr. Alina Lazaz
Office Location: 3.. Meshel Hall
Office Phone Number: 941-
Office Hours:

Monday: 14:00-15:00 Wednesday: 14:00-15:00 Friday: 14:00-15:00 and by appointment

E-mail Address: all@cs.wayne.edu and alinutzal@hotmail.com
Department Phone Number:

941-3134

Textbooks & Course Materials
Required Reading: Data Structures - A Pseudocode Approach with C++, R, F. Gilberg & B. A. Forouzan, Brooks/Cole Thompson Learning, 2001, 0-534-95216-X
Recommended Reading:

Any additional C++ Data Structures text.

Required Software:

  • Although programming assignments may be developed on any C++ platform, the submitted code must conform to the current (1998) C++ ANSI Standard.  The Computer Science & Information Systems Department labs are equipped with gnu C++ on Linux, which you will be required to learn and use during the labs.  A schedule of the rooms, days and times that the labs will be available for your use will be posted  in the Department main office and on the lab doors.

  • A browser supported by WebCT: Netscape Communicator (version 3.0 or higher) or Microsoft Internet Explorer (version 4.0 or higher).

Recommended Software:

A C++ software with an integrated environment that provides an effective interactive debugger.

Course Description/Objectives
Catalog Description:

Program design, style and expression, testing and debugging for larger programs. Introductory concepts of object-oriented programming, including classes, methods, encapsulation, and abstract data types. Theory and application of data structures, including linked structures, trees, networks, and graphs. Three hours lecture and two hours lab.

Course Objectives:

1) To continue developing a disciplined approach to the specification, design, coding and testing of programs written in a block-structured, high-level language.

2) To tech the use of data abstraction, using as examples the data structures string, vector, list, stack, queue and binary search tree.

3) To provide a complete understanding of different implementations of these data structures, and to understand the importance of separating the specification of a data structure from its particular implementation.

Course Calendar/Schedule
Readings:

Reading assignments in the Gilberg text will cover chapters 1-7, 11, 12 but not necessarily in that order.  The reading assignment in preparation for the September 2nd lecture is Chapter 1, and Sections 2, 3 and 5  in the text.  Other specific readings and their timing will be assigned as the course progresses. 

Assignments:

You will be given 5 homework assignments.  These assignments will be mostly programming problems (such as writing a single function with a test driver) that are designed to be accomplished in approximately 1 hour.  These assignments are to be submitted on a disk, along with a hard-copy printout of the source code, and are due at the beginning of the following lecture period unless otherwise instructed. 

Exam Dates: Exam 1 - 09/27,  Exam 2 - 11/01, Final Exam - 12/09
Course Policies
Attendance:

Attendance and participation in class is very important.  In addition to the normal lecture material, information will be given regarding  assignments, due dates, explanation and clarification of assignments, and material that is not covered in the assigned text.  If you miss a class for any reason, it is your responsibility to become familiar with the material covered.  It is also your responsibility to check the course website on a regular basis.  Expect to spend about 12 hours per week outside of the classroom lecture and lab period on reading assignments, homework problems, and programming projects. All students should keep the instructor informed about their difficulties with the course.

Missed Exam:

There is no make-up for midterm exams. Missing an exam will greatly affect your grade since they carry a lot of weight. In case of illness or abnormal circumstances, please consult with the instructor in advance if possible to make alternate arrangements. You must formally inform the instructor in writing and present proper supporting documents within a week from the midterm. All students are required to write  and pass the final exam in order to pass the course.

Missed Assignments:

An assignment is late if it is not submitted at the beginning of class on the due date. Late assignments ARE NOT ACCEPTED. You must allocate enough time to complete the assignment on time. 

Lab Rules: You are not allow to eat or drink in the lab.
Academic Honesty:

You are required to do your own work on all homework and open lab programs.   There are no group assignments, and since these assignments count toward your grade, the work must be yours.  If you need help with an assignment, your primary source of help should be the instructor.  You are, however, permitted to discuss an assignment with others, but are not allowed to share source code, pseudo-code, or design charts in any way, shape or form.  . Identical assignments will get zero grade and will result in failure of the course.

Grading:

Grading will be based on the weighted average scores as follows:

          Programming assignments (5):               30%  

          Mid-Term Examination (2):                   30%

          Final Examination (comprehensive):       30%

          Lab attendance & participation:             10%

Each exam is closed books and notes.

Letter grades will be based on the weighted average score according to the following:

Weighted Average Letter Grade
90% -100%

 A

80% - 89%

B

70% - 79% C
60% - 69% D
 < 59% E
Others
Changes in the Syllabus:

Instructor reserves the right to change syllabus, dates, test dates and procedures, class procedures, etc., as necessary.

Disability Services:

In accordance with University procedure, if you have a documented disability and require accommodations to obtain equal access in this course, please contact me privately to discuss your specific needs. You must be registered with the Disability Services Office in Beeghly Hall, Room 3310 and provide a letter of accommodations to verify your eligibility. You can reach the Office of Disability Services at 330-941-1372.

Week

Week 

beginning

Topics Redings Comments
1 08/26

Introduction to Algorithms and Pseudocode, 

Testing and Debugging 

Chapter 1; Sections 1.1,

1.2, 1.4

  
2 09/02

Introduction Abstract Data Types, 

Arrays and Matrices

Chapter 1; Sections 1.2,

1.3, 1.5

  University Closed 

- Labor Day 09/02

3 09/09 Introduction to Classes and User 

Defined ADT's

     HW 1 Due
4 09/16 Sorting

Chapter 11; Sections 11.1-

11.4.

  
5 09/23 Sorting

Chapter 11; Sections 11.6

  Exam 1 - 09/27
6 09/30 Searching

Chapter 2; Sections 2.1-

2.5.

  HW 2 Due
7 10/07 Lists

Chapter 3; Sections 3.1-

3.5.

  
8 10/14 Lists

Chapter 3; Sections 3.6-

3.8.

 
9 10/21 Stacks & Queues

Chapter 4; Sections 4.1-

4.3, 4.5, 4.6.

Chapter 5; Sections 5.1-

5.4, 5.5- 5.7.

  HW 3 Due
10 10/28 Recursion

Chapter 6; Sections 6.1-

6.7.

  Exam 2 - 11/01
11 11/04 Introduction to Trees

Chapter 7; Sections 7.1-

7.3.

 
12 11/11 Trees

Chapter 7; Sections 7.3-

7.5.

 University Closed - 

Veteran's Day 11/11

13 11/18 Graphs

Chapter 12; Sections 12.1-

12.4.

  HW 4 Due
14 11/25 Graphs

Chapter 12; Sections 12.5-

12.6.

University Closed - 

Thanksgiving Day 

11/28,29 

15 12/02 Review      HW 5 Due
16 12/09 Final Exam