Data Structures
Up Orientation Data Structures Architecture Simulation Simulation Env Simulation Bio Special Topics Student Projects

Home
Up

 

University of the Sciences in Philadelphia

Misher College of Arts and Sciences

Department of Mathematics, Physics and Computer Science

Data Structures - CS 320

Spring 2005

Instructor:

Dr. Anatoly Kurkovsky

Classes:

Mondays 12:00-1:50 p.m.  at GRI 208N and Wednesdays 1:00 -1:50 p.m. at WDL 110

Office hours:

Wednesdays 11:00 a.m. -12:50 p.m. or by appointment at WH 210E

Telephone: (215) 596 - 7615

E-mail: a.kurkov@usip.edu

Catalog Course Description: 

Prerequisites: Computer Programming I (CS 201) and Computer Programming II (CS 202) or permission of instructor. 

This is an introductory course concentrating on manipulating and storing data organized in certain logical data structures. We will study and implement these data structures using pseudocode approach with C++. Students should have good skills in problem solving with C++. This includes familiarity designing C++ classes, using templates, and pointers manipulation. The goal of this course is to provide a good background in main data structures concepts and introductory data structures design with pseudocode and C++. Subjects covered include:

bullet

Lists,

bullet

Hash tables,

bullet

Stacks,

bullet

Queues,

bullet

Trees.

Materials:

Required Textbook: 

bullet

 "Data Structures: A Pseudocode Approach Using C++" by Richard F. Gilberg and Behrouz A. Forouzan. 2001, Brooks/Cole. ISBN 0-534-95216-X.

Optional Textbook:

bullet

 "C++ Programming: Program Design Including Data Structures" by D.S. Malik. 2002, Course Technology. ISBN 0-619-03569-2. 

Software: Microsoft Visual C++ 6.

Methods of Instruction:

bullet

Class lectures

bullet

 Assignments: 
bullet

student projects

bullet

take-home assignments

bullet

Several exams

Evaluation:

Your performance in this class will be measured by three written tests (50%), several assignments (20%), student poster projects (10%), and your class participation (20%). Questions on the tests may include the following:

bullet

 multiple choice answer selection, 

bullet

 true-false answer selection. 

The types of assignments may include: 

bullet

small in-class programming projects, 

bullet

take-home (possibly programming) assignments.

Evaluation of your class participation will include:

bullet

attendance,

bullet

understanding of the course material,

bullet

responsibility to answer professor's questions.

The final grade will be derived from your performance on the tests, assignments, student class poster projects, and class participation as follows:

bullet

A: 90-100

bullet

B: 80-89

bullet

C: 70-79

bullet

D: 60-69

bullet

F: below 60

Assignments:

All assignments (home works) must be submitted either by e-mail or on diskettes. The following applies to the grading criteria: 

bullet

If your assignment is not complete (that is, programs have compilation errors), you will receive a grade of 0;

bullet

You will receive a grade of 0 for assignments submitted after the deadline.

When you submit your assignment: 

bullet

Include your class, name, assignment number and appropriate file names (if there are many files on the e-mail message or disk); 

It is your responsibility to pick up your diskettes at my office. I will not be responsible for your diskettes left at my office after the end of the semester. 

Tentative Schedule:

(These dates could be changed depending upon the pace of the course.)

# Week

Starting

Ch.

Topic

Test

Assignment/Project

1.

Jan 17

 

Brief review of some important features of C++ (refresh CS 202).  Classes, using templates, and pointers manipulation.

 

 

2.

Jan 24

1

Introduction to Data Structures. Pseudocode. The abstract data type. A model for an abstract data type.

 

 

3.

Jan 31

1,2

Algorithm efficiency. Searching.

 

 

4.

Feb 7

2

List searches. Sequential search. Binary search.

 

Student project

5.

Feb 14

2

Hashed list search. Hashing methods.

Test 1

 

6.

Feb 21

3

Linked lists. Linked list concepts.

 

Assignment 1

7.

Feb 28

3

Linked list algorithms.

 

 

8.

Mar 7

 

Spring recess

 

 

9.

Mar 14

3,4

Linked list applications. Stacks. Basic stack operations and algorithms.

 

Assignment 2

10.

Mar 21

4

Stack linked list implementation. Stack applications.

 

 

11.

Mar 28

5

Queues. Basic queues operations and algorithms.

 

Assignment 3

12.

Apr 4

5

Queues applications.

Test 2

 

13.

Apr 11

6

Recursion. Recursive solutions.

 

 

14.

Apr 18

7

Trees. Basic tree concepts. Tree representation.

 

Assignment 4

15.

Apr 25

7

Binary tree traversals. Expression tree.

 

 

16.

May 2

 

Final examination

Test 3

 

 

Attendance policy:

It is required that students attend every class. You are allowed to miss up to three classes without a written excuse. If you miss more than three class times your grade will be reduced according to the number of missed classes. If you miss a class, you should be prepared to find all lecture notes, slides, assignments, and other information from other students. No makeup tests will be given, so please make sure you are present for all exams.

Some common sense notices:

bullet

Please do not be late for classes,

bullet

Please do not wear hats in the classroom,

bullet

Please turn off all cell phones, beepers, pagers, buzzers, and other noisy electronic devices during class time, 

bullet

Please do not bring children, parents, friends, etc. into the class,

bullet

Please show common courtesy to your fellow classmates and professor.

Plagiarism and cheating:

You may work together and share ideas on any take-home assignment; you may seek help from anyone. However, submitting identical assignments will be considered cheating. All work on the exams must be your own. The exams will allow you to prove your competence and understanding of the material. No cheating in any form will be tolerated. Students caught cheating on an exam will receive a grade of 0 for that exam.

 

horizontal rule

This Web site is 2003 - 2012 by Anatoly Kurkovsky

Last updated: May 30, 2012