Data Structures

CS442

Spring 2005

 

SYLLABUS

 

Lectures          :

Time

Days

Where

Date Range

12:30 pm – 1:45 pm

TR

TCCW 0137B

Jan 11, 2005April 28, 2005

 

Instructor        : Dr. Mostafa G. Mostafa

WebSite          : www.wku.edu/~mostafa.mostafa

E-mail              : mostafa.mostafa@wku.edu

Office              : TCCW Room 113B

            Phone  : (270) 745-6183

Hours  : MW:  9:00 am to 10 am, 11:30 am to 2:30 pm

              Fri: 11:15 am to 12:15 pm

  Tue, Thu: by Appointment

 

Course Description:

This course covers abstract data types and specifications, algorithm analysis. Students will study data structures and algorithms for stacks, queues, trees, priority queues, sorting, sets, graphs, abstract data type concepts. Algorithm analysis and design techniques will be covered to help in selecting best algorithm.

 

Text:

            Data Structures and Algorithm Analysis in C++, by Weiss, ISBN: 0-201-36122-1

            Data Structures and algorithms in c++, by Michael T. Goodrich, Roberto Tamassia, and David Mount, ISBN: 0-471-20208-9

 

Reading Assignments:

Reading assignments serve as an aid to the class lecture topics.  They will be given in class and are expected to be completed before the next class. 

Quizzes will be given on a random basis on previouse covered topics.

 

Attending Policy:

Attendance will be recorded during each class meeting. You will miss a lot but your grade will be affected by 5 % of final grade if you absence more than 3 classes without accepted excuse.

 

Grading Policy:

Assignments/Quizzes              25%

Mid Term Exams                    20%

Final Exam                              25%

Final Project                            25%

Participation/Attendance        5%

 

Note: Arrangements must be made IN ADVANCE if for some valid reason you cannot take an exam at the scheduled time.

90% - 100%    A

80% - 89%      B

70% - 79%      C

60%-69%        D

<=60%            F

 

Lab Policy:

 

Lab will involve solving programming problems related to course content and assignments. Labs are due at start of the classes.

 

Term Project:


-
The purpose of the term project is to build a complete, very well documented, application (1000+ lines of code) that illustrates the concepts of one of the chapters of the book.

- The project is group based

- Each group is consists of 2 students

- Each group will be responsible of the following:

1-      Reading in advance any one of the chapters of the book.

2-      Based on your reading, each student will submit a project proposal, “Report”, on the first class of the fifth week, which includes:

a.       Project title

b.      Team members

c.       Project description

d.      Detailed project description

                                                                                                  i.      List of selected data structures

                                                                                                ii.      Proposed UI (consol / static / dynamic / animation / web interface )

                                                                                              iii.      List of the resources / URLs / books / … that you will use

                                                                                              iv.      Detailed naming convention (varibale names, fnction names, class names, …)

 

            A very well documented project should have the following charateristics:

                        - Well written – no grammer / spelling errors

                        - Clear

                        - Self explanatory (what and How)

                        - Following a well pre-defined convention throught out the project

                        - Well formatted comments

                       

 

Cheating Policy


Students are encouraged to work together and learn from each other.  However, cheating in any form on exams, or copying of homework or computer programs will not be tolerated.  Any evidence of cheating will result in a failing grade for the course.

 

General Policy:


Homework is due at the start of class on the due date. Late homework will only be accepted in extenuating circumstances.

 

Student Disability Services

In compliance with university policy, students with disabilities who require accommodations (academic adjustments and/or auxiliary aids or services) for this course must contact the Office for Student Disability Services in DUC A-200 of the Student Success Center in Downing University Center.

Please DO NOT request accommodations directly from the professor or instructor without a letter of accommodation from the Office for Student Disability Services.

 

The Learning Center (TLC)

Located in the Academic Advisng and Retenion Center, DUC-A330
Should you require academic assistance with this course, or any other General Education Course, there are several places that can provide you with help. TLC tutors in most major undergraduate subjects and course levels throughout the week. To make an appointment, or to request a tutor for a specific class, call 745-6254 or stop by DUC A330.  Log on to TLC’s website at www.wku.edu/tlc to find out more. TLC hours: M-Thu. 8am-9pm, Fri. 8am-4pm, Sat.-Closed, and Sundays 4pm-9pm.

 

Course Contents:

·         Chapter 1,       Introduction and C++ Quick Review

·         Chapter 2,       Algorithm Analysis                                         Assignment 1

·         Chapter 3,       Lists, Stacks, and Queues                               Assignment 2 is included in the presentation and the due date is Feb, 3rd

·         Chapter 4,       Trees

·         Chapter 5,       Hashing

·         Chapter 6,       Priority Queues (Heaps)

·         Chapter 7,       Sorting

·         Chapter 8,       The Disjoint Set ADT

·         Chapter 9,       Graph Algorithms

·         Chapter 10,     Algorithm Design Techniques

·         Chapter 11,     Amortized Analysis

·         Chapter 12,     Advanced Data Structures and Implementation