CSCE 350: DATA STRUCTURES AND ALGORITHMS

 

Catalog Description:

350—Data Structures and Algorithms. (3) (Prereq: CSCE 146) Theory of and advanced techniques for representation of information:  lists, trees, graphs; analysis of algorithms; sorting, searching, and hashing techniques.

 

Prerequisite(s) By Topic:

Introductory programming and data structures

Discrete mathematics

Use of simple data structures (queues, stacks, lists, trees)

 

Textbook(s) and Other Required Material:

Data Structures & Algorithm Analysis in Java, Mark Allen Weiss, Addison-Wesley, 1999.

 

Computing Platform: UNIX/Windows 2000

 

Course Objectives: {Assessment Methods Shown in Braces}

1.      Describe formal analysis measures. {assignments, tests}

2.      Describe the relevance of abstraction to problem solving. {tests}

3.      Analyze and use lists, trees, and graphs. {assignments, tests}

4.      Analyze algorithms. {assignments, tests}

5.      Use appropriate data structures {programming assignments}

 

Topics Covered:

1.      Structured programming, stacks, queues, lists (5 hours)

2.      Determining the Running Time of Programs, Order of Magnitude Analysis (6 hours)

3.      Trees (6 hours)

4.      Symbol Tables (3 hours)

5.      Priority Queues (3 hours)

6.      Graphs (9 hours)

7.      Analysis of Sorting and Searching (6 hours)

8.      Reviews and exams (4 hours)

 

Laboratory Projects: none

 

Syllabus Flexibility: Low.  The Undergraduate Committee approves the choice of textbook and syllabus. 

 


Relationship of Course to Program Outcomes:

The contribution of each course objective to meeting the program outcomes is indicated with the scale:
3 = major contributor, 2 = moderate contributor, 1 = minor contributor.  Blank if not related.










Course Objectives

Program Outcomes

1. Logic & Math

2. Computing Fundamentals

3. Apply Computing Principles

4. Work on teams

5. Communicate Effectively

6. Liberal arts & Soc. Sciences

7. Basic Science and Lab Procedures

8. Learn New Tools & Processes

9. Employed upon Graduation

10. Application Area

11. Electronics and Digital Sys Design

1. Describe formal analysis measures

3

3

 

 

1

 

 

 

 

 

 

2. Describe the relevance of abstraction to problem solving

 

3

3

 

1

 

 

2

 

 

 

3. Analyze and use lists, trees, and graphs

3

3

3

 

1

 

 

2

3

 

 

4. Analyze algorithms

3

3

 

 

1

 

 

1

2

 

 

5. Use appropriate data structures

 

3

3

 

1

 

 

2

3

 

 

 

Estimated CSAB Category Content:

Algorithms:                                                     1.5 hr

Data Structures:                                              1.5 hr

Software Design:                                            0

Concepts of Programming Languages               0

Organization and Architecture                          0

 

Oral and Written Communication:

An oral communication component involving the analysis, design, implementation, or use of selected algorithms is required of all students.

 

Social and Ethical Issues: none

           

 

Theoretical Content:

Analysis of algorithms

 

Analysis and Design:

Substantive algorithm analysis and some programming

 

Class/Laboratory Schedule:

Lecture: 3 periods of 50 minutes or 2 periods of 75 minutes per week

 

Course Coordinator: John Rose

 

Modification and Approval History:

Initial description, September 1998

Revised, April 2001

Revised February 2002 to include an oral and written communication component