Computer Science and Engineering CSE 2383

advertisement
Computer Science and Engineering CSE 2383
Data Structures and Analysis of Algorithms
CREDIT/CONTACT HOURS: Credit Hours: 3, Contact Hours: 45
COORDINATOR:
Mr. Joe Crumpton/Dr. Julia Hodges
TEXTBOOKS: Sahni, Data Structures + Algorithms + Applications in C++, 4th Edition,
Silicon Press, 2004.
a. Supplemental Material: material available on myCourses
SPECIFIC COURSE INFORMATION:
Catalog Description: Three hours lecture. Non-linear data structures and their associated
algorithms. Trees, graphs, hash tables, relational data model, file organization. Advanced
software design and development.
a. Prerequisites: Grade C or better in CSE 1384 and MA 1713
b. Required/Elective:
Computer Science – Required
Software Engineering – Required
Computer Engineering – Required
SPECIFIC GOALS OF THE COURSE:
Specific Outcomes of Instruction:
1. To further reinforce good software development practice with attention to
software quality and particular emphasis on reusability.
2. To advance students’ understanding of object-oriented design.
3. To advance students’ understanding of data structures, data structure application,
and data structure design.
4. To advance students’ understanding of representation of database representations
and manipulation.
a. Criterion 3 Outcomes:
Note: Parenthesized list indicates the ABET EAC and CAC outcomes addressed by
each performance criteria.
1. The student will be able to use a modern programming language to implement
2.
3.
4.
5.
both linear and nonlinear data structures and the algorithms required to create
and manipulate those structures (EAC: a, k; CAC: a, b, c, i)
The student will be able to use a modern programming language and off-theshelf libraries to use and extend the provided implementations of data structures.
(EAC: k; CAC:i)
The student will be able to reuse and extend containers in the Standard Template
Library to create new data structures. (EAC: k; CAC: i)
The student will be able to use algorithm analysis techniques to choose the data
structure appropriate for a given problem. (EAC: a, k; CAC: a,b,i,j)
The student will be able to design, implement, and query a relational database.
(EAC: c, k; CAC: c,i,k)
6. The student will be able to apply software engineering practices of design,
implementation, testing and documentation using the object-oriented paradigm to
software projects.(EAC: b, c, k; CAC: c,i,k)
TOPICS COVERED:
Lecture
(Number of class hrs)
1. Introduction to the course
1
2. Review of linear structures (lists, stacks, queues)
6
3. Using generic container classes – Generic containers; iterators
3
4. Tree Structures – Binary Trees; Tree traversal algorithms;
search trees; balanced trees; heaps
9
5. Graphs – Definitions; representations; algorithms
9
6. Hash Tables
3
7. Relational Data Model – Relational Algebra; Relational
Database Management Systems; SQL
6
8. File Organization – Sequential; indexed
5
9. Exams
3
Download