0% found this document useful (0 votes)
4 views3 pages

Cs 501 Summeroutline 2

CS 501 Foundations of Computer Science covers software design and data structures including stacks, queues, trees, and graphs, with a focus on algorithm analysis and efficiency. The course requires prerequisites and includes programming assignments, tests, and a final exam, with grades based on performance in these areas. The instructor is Neli P. Zlatareva, Ph.D., and office hours are provided for student support.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

Cs 501 Summeroutline 2

CS 501 Foundations of Computer Science covers software design and data structures including stacks, queues, trees, and graphs, with a focus on algorithm analysis and efficiency. The course requires prerequisites and includes programming assignments, tests, and a final exam, with grades based on performance in these areas. The instructor is Neli P. Zlatareva, Ph.D., and office hours are provided for student support.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

CS 501 Foundations of Computer Science: Course outline

2012/13 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 Neli P. Zlatareva, Ph.D., Professor of Computer Science.


Office MS303.
Phone (860) 832-2723.
E-mail [email protected]
Web site http://www.cs.ccsu.edu/~neli/
Office hours MTWR 7:15 p.m. – 7:35 p.m.

Course Objectives Having completed this course successfully, the student


should:

 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 different 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 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 class discussions. 6.0 hours

Total: 45.0 hours

Programming assignments There will be 4 programming assignments. There


will be a penalty for late submissions of homework assignments. For deadlines,
see course web site.

Academic honesty All work 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.

Tests There will be 2 take-home tests and a final exam.

Grades Programming assignments 10 points each


Tests 15 points each
Final exam 30 points

Final grade for the course will be defined according to the following table:

Total points Final grade


---------------- ----------------
94 - 100 A
90 - 93.99 A-
87 - 89.99 B+
84 - 86.99 B
80 - 83.99 B-
77 - 79.99 C+
74 - 76.99 C
70 - 73.99 C-
67 - 69.99 D+
64 - 66.99 D
60 - 63.99 D-
below 60 F

You might also like