CSIS_2617_Lazar: Data Structures and Objects
Syllabus ![]()
|
Course Information |
|||||||||||||
|
Course Title: |
Data Structures and Objects |
||||||||||||
|
Course Number: |
CSIS 2617 |
||||||||||||
|
Course
Discipline: |
Software and Programming |
||||||||||||
|
Course Description: |
Advanced computer programming design, implementation and testing, with a primary focus on data structures and abstraction. |
||||||||||||
|
Course Dates: |
August 25, 2003 through December 14, 2003 Fall2003 |
||||||||||||
|
Credit Hours: |
4 hours (3 hours lecture and 2 hours lab) |
||||||||||||
|
Prerequisite(s): |
CSIS 2610 (CSIS 610) with a grade of C or better. |
||||||||||||
|
Section
Number: |
0627 |
||||||||||||
|
Classroom Location: |
304 Meshel Hall |
||||||||||||
|
Meeting day(s) and Hours: |
14:15-16:45, Tuesday and Thursday, Lecture and Lab, 304 Meshel Hall |
||||||||||||
|
Department Location: |
339B, Meshel Hall |
||||||||||||
|
Web Page: |
|||||||||||||
|
Instructor Information |
|||||||||||||
|
Name: |
Dr Alina Lazar |
||||||||||||
|
Office Location: |
322 Meshel Hall |
||||||||||||
|
Office Phone Number: |
941-2981 |
||||||||||||
|
Office Hours: |
Tuesday and Thursday 17:00-20:00 and by appointment |
||||||||||||
|
E-mail Address: |
|||||||||||||
|
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. · 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
Gilbert text will cover chapters 1-7, 11, 12 but not necessarily in that
order. The reading assignment in
preparation for the August 28th lecture is Chapter 1, Sections 1, 2 and
4 in the text. Other specific
readings and their timing will be assigned as the course progresses. |
||||||||||||
|
Assignments: |
You will be given 15 homework assignments. These assignments will be mostly programming problems (such as writing some functions with a test driver). These assignments are to be submitted on WebCT, along with a hard-copy printout of the source code, and are due Thursdays at the beginning of the lecture indicated in the syllabus. |
||||||||||||
|
Exam Dates: |
Exam 1 – 09/25, Exam 2 – 10/30, Final Exam - 0627 – December 9, Tuesday 13:00 - 15:00 |
||||||||||||
|
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. |
||||||||||||
|
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 allowed to eat or drink in the lab. |
||||||||||||
|
Academic Honesty: |
You are required to do your own
work on all homework. 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 grades and will result in
failure of the course. |
||||||||||||
|
Grading: |
Grading will be based on the weighted average scores as follows: Lab & Programming assignments (15): 30% Mid-Term Examination (2): 40% Final Examination (comprehensive): 30%
Each exam is closed books and notes. Letter grades will be based on
the weighted average score according to the following:
|
||||||||||||
|
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 |
||||||||||||
|
Center for Student Progress |
The Center for Student Progress is a resource on Campus established to help students successfully complete their university experience. Please phone (313)941-3538 or visit the Center for help “working the system for tutoring, or for individualized assistance with academic and social concerns. It is located in Kilcawley West under the bookstore. |
||||||||||||
|
Week |
Week Beginning |
Topics |
Readings |
Comments |
|
1 |
08/25 |
Introduction to Algorithms and Pseudocode, Testing and Debugging |
Chapter 1; Sections 1.1, 1.2, 1.4 |
|
|
2 |
09/01 |
Introduction Abstract Data Types, Arrays and Matrices |
Chapter 1; Sections 1.2, 1.3, 1.5 |
University Closed Labor Day 09/01 |
|
3 |
09/08 |
Searching |
Chapter 2; Sections 2.1- 2.5. |
|
|
4 |
09/15 |
Introduction to Classes and User Defined ADT's |
|
|
|
5 |
09/22 |
Classes and Pointers |
|
Exam 1 - 09/25 |
|
6 |
09/29 |
Lists |
Chapter 3; Sections 3.1- 3.5. |
|
|
7 |
10/06 |
Lists |
Chapter 3; Sections 3.6- 3.8. |
|
|
8 |
10/13 |
Stacks |
Chapter 4; Sections 4.1- 4.3, 4.5, 4.6. |
|
|
9 |
10/20 |
Queues |
Chapter 5; Sections 5.1- 5.4, 5.5- 5.7. |
|
|
10 |
10/27 |
Recursion |
Chapter 6; Sections 6.1- 6.7. |
Exam 2 – 10/30 |
|
11 |
11/03 |
Introduction to Trees |
Chapter 7; Sections 7.1- 7.5. |
|
|
12 |
11/10 |
Sorting |
Chapter 11; Sections 11.1- 11.3. |
University Closed Veteran's Day 11/11 |
|
13 |
11/17 |
Sorting |
Chapter 11; Sections 11.4. |
|
|
14 |
11/24 |
Graphs |
Chapter 12; Sections 12.1- 12.6. |
University Closed Thanksgiving Day 11/28,29 |
|
15 |
12/01 |
Review |
|
|
|
16 |
12/08 |
Final Exam |
|
|