Data Structures
CS442
Spring 2005
SYLLABUS
Lectures :
|
Time |
Days |
Where |
|
|
|
TR |
TCCW 0137B |
|
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:
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
Please DO
NOT request accommodations directly from the professor or instructor without a
letter of accommodation from the Office for Student Disability Services.
The
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 6, Priority Queues (Heaps)
· 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