CSCE 564: COMPUTATIONAL SCIENCE
Catalog Course Description:
564—Computational
Science. (3)
(Prereq: Math 526 and CSCE 145 or 207 or 500) Introduction to computational
science. Vector, parallel, distributed
and massively parallel architectures.
Parallel algorithms, scientific visualization, and techniques for
solving scientific problems.
Prerequisite(s) By Topic:
Introductory programming and data structures
Linear algebra
Textbook(s) and Other
Required Material:
Foster,
Designing and Building Parallel Programs, Addison Wesley, 1995.
Gropp, Lusk, Skjellum, Using MPI, MIT Press, 1994.
Computing Platform: Various parallel machines as
availability permits.
Course Objectives: {Assessment Methods Shown in
Braces}
1. Describe the
architecture of parallel computers {tests}
2. Describe several
scientific problems for which parallel computation is required for their
effective solution {tests}
3. Describe the
nature of computations suitable for programming on a parallel computer {tests}
4. Demonstrate the
ability to program a parallel computer in a high level language with parallel features
{programming assignments, tests}
Topics Covered:
1. Parallel computer architecture: processors, memory
hierarchies, interconnect (9 hours)
2. Parallel computing languages and paradigms (9 hours)
3. Commonly parallelized algorithms and kernels (15
hours)
4. Case studies (6 hours)
5. Reviews and tests (3 hours)
Syllabus Flexibility: High. Parallel computing and scientific computation are very broad, and
the textbook, syllabus, and choice of topics to be emphasized can vary
substantially.
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 the architecture of parallel computers |
|
3 |
3 |
|
|
|
|
|
|
|
|
|
2. Describe several scientific problems for which parallel
computation is required for their effective solution |
|
3 |
3 |
|
|
|
|
|
|
|
|
|
3. Describe the nature of computations suitable for programming
on a parallel computer |
|
|
3 |
|
|
|
|
|
|
|
|
|
4. Demonstrate the ability to program a parallel computer in a
high level language with parallel features |
|
3 |
3 |
|
|
|
|
3 |
2 |
|
|
Estimated CSAB Category
Content:
Algorithms: 1
hr
Data Structures: 0
Software Design: 0
Concepts of
Programming Languages 0
Organization and
Architecture 2
hr
Oral and Written
Communication: none
Social and
Ethical Issues: none
Theoretical
Content:
Parallelization of algorithms
Analysis and
Design:
Implementation of parallel algorithms
Class/Laboratory Schedule:
Lecture: 3 periods of 50 minutes or 2
periods of 75 minutes per week
Difference
between Undergraduate and Graduate Work:
Students enrolled for graduate credit will have to do additional and/or more difficult assignments to justify the receipt of graduate credit for this course.
Course
Coordinator: Duncan Buell
Modification and
Approval History
Initial description, prior to February
2001
Revised, February 2001
Revised July 2002 to include statement
on graduate work