Copyright  © – Sudharsan Iyengar

 CS-341

Data Structures

Spring 2024

T, Th:  8:00 am – 9:50 am; Watkins 105

 

 

 

Objective:

 

To study and understand the fundamental and advanced concepts that promote the design and use of robust, reusable, and efficient Data Structures.

 

WSU catalog description:

 

A detailed study of more advanced data structures and algorithms, including concepts and techniques of design efficiency and complexity of algorithms and their lower bounds.  Topics include search trees, hash functions, string searching, disjoint sets, internal and external sorting, graphs and graph algorithms, and different algorithm design techniques.  Prerequisites: CS 250 and CS 275.

 

This course satisfies University Studies Critical Analysis Flag requirements.

Office Hours:  Link           

Labs, Homework and Programming Assignments

Text:   Data Structures and Algorithm Analysis Java

             Mark Allen Weiss, Pearson, 3nd Ed.

Links:

  • Handouts and Assignments

Syllabus:        

  • Quick Review of Java Programming 
  • Fundamentals of OO Design
  • Abstraction and Recursion: Elements of Data Structures Design and Implementation
  • Linear Structures
  • Recursive Problem Solving
  • Evaluation Metrics for Data Structures
  • Exam 1
  • Hierarchical Structures
  • Balanced Hierarchical Structures
  • Exam 2
  • Networked Structures
  • Problem Models and Solutions using Graphs.
  • External Search and Sort
  • Exam 3
  • Final Exam (Comprehensive)

 

Course Objectives and Expectations:

 

Upon entering the course – students should:

 

·         Be capable of analyzing and developing programming solutions from written requirements.

·         Be capable of using different toolsets and develop alternate solutions for a given problems.

·         Have clear understanding of object-oriented programming methodology and standards of coding and documentation

 

Upon completion of the course - students will:

 

o   Be able to clearly articulate various techniques of developing collection managements and their advantages.

o   Be able to analyze the performance of a given implementation and articulate its complexity.

o   Be able to write recursive solutions for operations in data structures.

o   Have a broad understanding of the application of linear, hierarchical and networked data structures.

 

 Policy:

Pre-requisite for this course is a C or better grade in CS-250 and a C or better grade in Math 301/CS-245/CS-275. You should satisfy these pre-requisite(s) to attend this class.

If this is your fourth (4th) time taking this class – you need department permission to attend this class.

Projects and Homework should be done on an individual basis. Co-operative learning is encouraged. Collaboration in generating the submitted work will be construed as plagiarism and will be reported to the department. A Departmental policy sheet is available on the Web.

Makeup exams and/or late assignments – under dire circumstances may be accepted only with prior instructor’s permission.

Questions regarding exam/project/homework/final scores/grades should be brought to the instructors’ attention within one week from the time the grades are returned to students. Questions/appeals after this period will not be entertained.

WSU is committed to Inclusive Excellence. WSU Promotes and celebrates diverse cultures, ethnic heritages, and includes all perspectives and promotes the understanding of issues relating to race, ethnicity, culture, gender, age, sexual orientation, ability levels, socioeconomic status, and religion. The complete statement with resources is at Inclusive Excellence Statement.

 

 

Grading:         

Exam 1

10 %

Exam 2

10 %

Exam 3

10%

Finals

20 %

Labs + Projects

50 %

Total

100 %

            Grading Scale

 

Grade

>= 90%

A

>= 80%

B

>= 70%

C

>= 60%

D

< 60 %

F