Download CS 501 Foundations of Computer Science: Course outline

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Binary search tree wikipedia , lookup

Transcript
CS 501 Foundations of Computer Science: Course outline
2008/09 Catalog data Software design for structuring and manipulating data.
Topics include stacks, queues, hash tables, trees, graphs, advanced sorting, and
analysis of algorithms.
Prerequisites CS 500 or CS 153 or permission of instructor.
Textbook Robert Lafore "Data Structures & Algorithms in JAVA", 2002, Waite
Group Press, CA.
Instructor
Office
Phone
E-mail
Web site
Office hours
Course Objectives
should:




Neli P. Zlatareva, Ph.D., Professor of Computer Science.
MS204.
(860) 832-2723.
[email protected]
http://www.cs.ccsu.edu/~neli/
TR 1:45 p.m. - 2:30 p.m.,6:30 p.m.-7:00 p.m.
MW 1:00 p.m.-2:00 p.m.
Having completed this course successfully, the student
Demonstrate the ability to plan, design, execute and document
sophisticated programs and to handle various sorts of data structures.
Understand the benefits of information hiding, modularity and abstraction
in the design of large software systems.
Comprehend alternative implementations using differing logical
relationships and appreciate the significance of choosing a particular
logical relationship for implementation within real-world setting.
Know how to analyze algorithms, transform and optimize programs to
achieve better efficiency.
Topics in the course and number of lecture hours each
1. Introduction to data structures and algorithm analysis:
asymptotic and empirical analysis of algorithms.
Elementary sorting and searching methods.
3.0 hours
2. Review of linear data structures: arrays, stacks,
queues and linked lists (operations, implementations,
applications).
4.5 hours
3. Recursion: recursive binary search, merge sort.
Efficiency of recursive algorithms.
3.0 hours
4. Advanced sorting methods: Shellsort and Quicksort.
5. Binary trees, heaps and AVL-trees (operations,
implementations and applications). Heapsort.
3.0 hours
6. General trees: 2-3-4 trees, red-black trees
4.5 hours
7. Dictionaries and hash tables. Hash functions and
their efficiencies.
3.0 hours
8. External searching and sorting.
1.5 hours
9. Graphs: definitions, implementations. Graph algorithms
for searching, minimum spanning tree and topological
sorting.
6.0 hours
10. Weighted graphs: minimum spanning tree and shortest
path algorithms.
3.0 hours
11. Search techniques in conceptual graphs and networks:
recursive brute-force search and best-first search,
application of search trees in games.
3.0 hours
12. Tests and student presentations.
6.0 hours
4.5 hours
Total: 45.0 hours
Programming assignments There will be 4 programming assignments, and a
research project, which students will do in groups. There will be a penalty for late
submissions of homework assignments. For deadlines, see the course Web site.
Academic honesty All homework 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 (3 – 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
summarize the results of the research project in 15 minutes talk given in class.
The research paper (typically 12 - 15 pages long), a program listing plus the disk
with 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