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.
|
|
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