CS 253 Data and File Structures: Course Outline

advertisement
CS 253 Data and File Structures: Course Outline
2015/16 Catalog data
A software design course, which develops concepts and
techniques for structuring and manipulating data both in the computer and on external
storage devices. Topics include a review of basic data structures, balanced tree
structures, graphs, sequential and direct access files, external sorting. An introduction to
data base systems is also provided.
Prerequisites CS 152
Textbook Michael T. Goodrich and Roberto Tamassia "Data Structures and Algorithms in
JAVA", John Wiley & Sons, Inc. (fourth edition)
Instructor Neli P. Zlatareva, Ph.D., Professor of Computer Science.
Office
MS 30304
Phone
(860) 832-2723.
E-mail
zlatareva@ccsu.edu
Course Web site http://www.cs.ccsu.edu/~neli/
Office hours
MW 1:00 p.m. - 1:35 p.m., 2:55 p.m. – 3:30 p.m.
TR 12:05 p.m. - 1:00 p.m., 5:00 p.m.- 5:50 p.m.
Course Objectives Having completed this course successfully, the student should:
1. Be familiar with the use of data structures as the foundational base for computer
solutions to problems.
2. Become introduced to and investigate the differing logical relationships among
various data items.
3. Understand the generic principles of computer programming as applied to
sophisticated data structures.
4. Comprehend alternative implementations using the differing logical relationships
and appreciate the significance of choosing a particular logical relationship for
implementation within real-world setting.
5. Demonstrate the ability to plan, design, execute and document sophisticated
technical programs to handle various sorts of data structures.
Topics in the course and number of lecture hours each
1. Introduction to algorithm analysis: pseudo code, algorithm
efficiency (examples: sorting and searching problems),
asymptotic and empirical analysis of algorithms.
3.0 hours
2. Introduction to data structures. Linear data structures: vectors,
stacks, queues, linked lists and sequences (operations,
implementations, applications.)
3.0 hours
3. Non-linear data structures: binary trees and general trees
(operations, implementations and applications).
Binary search trees.
6.0 hours
4. Priority queues and heaps: using a heap to implement
a priority queue. Heap sort.
3.0 hours
5. Dictionaries, hash tables.
3.0 hours
6. Balanced search trees: AVL trees, (2,4) and red-black trees.
6.0 hours
7. Sets, selection, and sorting: merge and quick sorts.
3.0 hours
8. Non-linear data structures: graphs (representations,
implementations). Path algorithms: depth-first and
breadth-first searches, transitive closure, topological
ordering).
6.0 hours
9. Non-linear data structures: weighted graphs. Minimum
spanning tree and shortest path algorithms.
6.0 hours
10. Tests and student presentations.
6.0 hours
Total:
45.0 hours
Programming assignments There will be 4 programming assignments, and a research
project, which students can do in pairs or individually. There will be a penalty for late
submissions.
Academic honesty All programming assignments must be an individual effort of the
student submitting the work for grading. See the section "Policy on Academic Honesty" in
the CCSU Student Handbook.
Project For the research project, students will choose a graph algorithm to study in
depth (2 – 4 references in addition to the book will be sufficient), develop an
implementation of that algorithm in a selected application context, and write a research
paper describing the results of this research. Everybody (team) will summaries the results
of the research project in a 15 minutes talk given in class. The research paper (typically 8
- 10 pages long), and the program must be submitted for grading.
Tests There will be two tests during the semester and a final exam.
Grades Programming assignments
Project
Tests
Final exam
5 points each
20 points
15 points each
30 points
Final grade for the course will be defined according to the following table:
Total points
---------------94 - 100
90 - 93.99
87 - 89.99
84 - 86.99
80 - 83.99
77 - 79.99
74 - 76.99
70 - 73.99
67 - 69.99
64 - 66.99
60 - 63.99
below 60
Final grade
---------------A
AB+
B
BC+
C
CD+
D
DF
Download