Scientific Computation

CSC 340

(DRAFT syllabus revision, 26 August 2015)

Introduction

CSC 340 will focus on the design, implementation, application, and performance of numerical algorithms that are fundamental to scientific computation. Skills gained from this course will allow students to bring together concepts gained in their science, mathematics and computer science courses and apply them to real problems.

Student Learning Outcomes (SLOs)

  1. Students develop knowledge of computer data representation and its relationship to computational error and error propagation.
  2. Students demonstrate knowledge of vector and matrix operations including addition, subtraction, transpose, multiplication, and inverses by implementing and applying algorithms for each.
  3. Students learn how to find and use eigenvectors and eigenvalues and students implement programs to find these.
  4. Students implement and learn to use signal processing algorithms.
  5. Students implement and learn to use programs to fit data using both linear and nonlinear functions.
  6. Students develop a knowledge of algorithm and implementation alternatives that enables them to choose appropriately.
  7. Students develop skills in writing technical reports that describe findings that arise from application of software that they develop.

Schedule

The course meets Monday, Wednesday, and Friday from 1:00-1:50 PM in CIS 2006. A detailed schedule of topics that will be presented week-by-week may be found by following the “schedule” link above.

Text

Robert J. Schilling and Sandra L. Harris, Applied Numerical Methods for Engineers Using Matlab and C, Brooks/Cole Publishing Company, New York, NY, 1999, ISBN 0-534-37014-4.

Grading

Routine

Notice the SLOs given above. The SLOs make this an algorithms-oriented course. For you to have a context in which to demonstrate clearly and unequivocally that you have mastery of the algorithms, the grading scheme reflects a strong emphasis on implementing computer algorithms and applying them to various problems. Thus, you will be asked to engage three projects for which you may apply your implementations of the studied algorithms: one is a machine learning task (creating a classifier), the second involves finding solutions for optimization problems (), and the third focuses upon digital signal processing (for filtering and sonar or radar ranging). Grading will be based upon performance on the projects, identified hereafter as examinations. The first two projects/examinations will be worth a total of 60% (each worth 30%) and the final project/examination will be worth 40% of the final grade. The examinations will demand implementation, validation, demonstration, and application algorithms taught during the course and for these, you are required to employ your own personal implementations of each of the algorithms and methods studied.

 

Notice that correct, personally programmed implementation is a central component of this course, critical to validation, demonstration, and application, and therefore, must be taken very seriously. You may NOT use the library features of any programming language as a source for the analytical results you submit. For example, many languages possess libraries for matrix operations (e.g., NumPy) and you may use such built in functions to verify your implementations; however, you are required to implement all specified algorithms yourself and for test purposes in CSC 340, NumPy is specifically prohibited, except to verify your personal implementations of various algorithms. The point is to show what you can do, not to showcase what language library authors can do.

Incomplete grades

Incomplete grades are given only very rarely and only when the student is

-         otherwise passing the course,

-         able to complete the work of the course entirely on his/her own, and

-         prevented from completing the course by verified unforeseen circumstances beyond the control of the student. 

The instructor MUST be able to certify all three of these factors to the chair before assigning a grade of "I".

Contact Information

Instructor:

Gene A. Tagliarini, PhD

Professor of Computer Science

Office:

CIS 2038

Phone:

962-7572

Office Hours:

M-W, 9:00-9:50 AM, 2:00 – 4:30 PM

Other office hours are readily available by appointment.

E-mail:

tagliarinig@uncw.edu

Other Administrative Matters

Attendance Policy

Regular attendance and vigorous participation in class are expected but not required.  However, if you desire the "benefit of the doubt" in any matter related to your grade in the class, you will routinely be present, ask relevant questions, and cooperate with the instructor as well as the course objectives.  Each student is individually and personally responsible for all material covered during each class meeting.

Americans with Disabilities Act

If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible.  If you have not already done so, you must register with the Office of Disability Services in Westside Hall (ext. 3746) and obtain a copy of your Accommodation Letter.  You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.

Course Assessment Plan


Course Student Learning Outcomes and Course Assessment Plan

Assessment Instruments

Course Student Learning Outcomes

Test 1

Test 2

Final Exam

1

Students develop knowledge of computer data representation and its relationship to computational error and error propagation.

X

2

Students develop knowledge of vector and matrix operations (e.g., addition, subtraction, transpose, multiplication, inverse).

X

3

Students learn how to find and use eigenvectors and eigenvalues and students implement programs to find these

X

4

Students implement and learn to use signal processing algorithms.

X

5

Students implement and learn to use programs to fit data using both linear and nonlinear functions.

X

6

Students develop a knowledge of algorithm and implementation alternatives that enables them to choose appropriately.

X

7

Students develop skills in writing technical reports that describe findings that arise from application of software that they develop.

X