Advanced Data Structures

Course Description

Static and dynamic data structures emphasizing binary trees and graphs. Advanced programming techniques. Advanced sorting and searching algorithms. Hashing techniques. Performance analysis. Methods of developing large applications programs. Prerequisite: Grade of at least C- in CSC 220 or CSC 230 and in CSC 250 or MAT 253.

Syllabus

Student Learning Outcomes, Goals, Objectives:

The goal of this course is to help students understand the fundamentals of static and dynamic data structures emphasizing binary trees and graphs, and advanced programming techniques such as advanced sorting and searching algorithms, hashing techniques, and performance analysis. They will also practice methods of developing large applications programs.

Students successfully completing this course will be able to:

  • Understand and use the advanced features of Java such as inheritance and generics

  • Understand and use linear and non-linear data structures

  • Have a solid introduction to advanced programming techniques and performance analysis

  • Greatly improve their programming ability through the study of advanced data structures and through programming practices

Course Grading Information:

Activity/Performance Measure

Percentage/Points

Assignments

35%

Project

15%

Tests

50%

Grading Scale

Percentage

Letter Grade

94-100

A

90-93

A-

87-89

B+

84-86

B

80-83

B-

77-79

C+

74-76

C

70-73

C-

67-69

D+

64-66

D

60-63

D-

<59

F

Attendance/Participation:

Attendance/participation is not a graded component included in the student's final grade for this course.

Course Materials Purchased by the Students:

Mark Allen Weiss, Data Structures & Problem Solving Using Java, 4th Edition, Addison-Wesley, ISBN-13: 978-0-321-54140-6 or ISBN-10: 0-321-54140-5.

Scholarly Perspectives

This course engages diverse scholarly perspectives to develop critical thinking, analysis, and debate and inclusion of a reading does not imply endorsement.