CSC 245A Computer Applications in Science and Mathematics      [formerly CSC 245] 4 cr.  Q

Techniques of numerical analysis (solution of equations, interpolation, regression, numerical integration, numerical solution of differential equations) are implemented on the computer and applied to problems selected from physics, chemistry, astronomy, and other sciences.   The course includes an introduction to Fortran90, stressing its computational and mathematical features.   Three lecture hours and two hours of scheduled laboratory per week plus programming work outside of class.
Prerequisites: CSC 202 or CSC 202J, MAT 220.

Note:    This course satisfies the Quantitative core requirement.

Goals:
   The aim of this course is to acquaint the student with the special problems and techniques relevant to mathematical and scientific computation, illustrated by concrete problems from a variety of scientific areas.

Objectives:
   Upon completion of the course, the student will be able to:

  • CO1: describe the computer representation of floating-point values and the associated limits of size and precision;
  • CO2: understand and explain the distinction between accuracy and precision;
  • CO3: understand and implement standard techniques for the numerical solution of equations in one unknown;
  • CO4: understand and implement standard techniques for interpolation and approximation based on a set of tabulated values;
  • CO5: understand and explain the concepts of unstable solution methods and the propagation of errors;
  • CO6: demonstrate familiarity with the extension of standard methods to systems of equations and the use of vector and matrix techniques;
  • CO7: demonstrate familiarity with the computational and mathematical facilities of a specific programming language (currently Fortran90);
  • CO8: demonstrate the ability to analyze a problem statement in an area of science, determine appropriate mathematical formulas and techniques for its solution, and design, write, and test an appropriate program to solve the problem.

Topics:
  • introduction to computer arithmetic
    • integer vs. floating point values
    • a computer's discrete number system; machine epsilon
    • truncation and round-off errors in numeric calculations
    • accuracy vs. precision
  • introduction to Fortran90
    • Fortran90 language syntax and program structure
    • Fortran90 standards for I/O, structure, style, and documentation
    • subprograms, parameters
    • functions: intrinsic functions, statement functions, function subprograms
  • mathematical techniques:
    • solution of transcendental equations (bisection method, substitution method, Newton-Raphson and secant methods)
    • approximation (interpolation, extrapolation, spline functions, Taylor polynomials and other partial-sum approximations, least-squares approximations)
    • numerical integration (trapezoid rule, Simpson's rule, and modifications)
    • numerical solution of ordinary differential equations
  • applications drawn from mechanics, hydrodynamics, ballistics, chemistry, and other sciences
  • use of mathematical software packages such as Mathematica (depending on time and availability of software)

Assignments:
      Five or six programming projects are assigned, illustrating some of the major methods of numerical mathematics.   All projects are drawn from concrete problems in the sciences, and necessary background and formulas from appropriate areas are supplied through lectures and library research.   There will also be periodic laboratory exercises and written assignments on mathematical and programming topics.
      All programs must conform to departmental guidelines for program design and implementation, and all lab reports must conform to the written guidelines supplied by the instructor.   Regardless of numeric average or grades on individual assignments or examinations, a student will not be eligible for a passing grade in the course unless he or she has submittted a lab report for every laboratory exercise and programming assignment within the time-frame specified by the instructor.

Note:   The prerequisites of differential and integral calculus are taken seriously.   Students are expected to be familiar with the concepts of continuous and differentiable function, Riemann-integrable function, Intermediate Value and Mean Value theorems, and the properties (including graphs) of the standard elementary functions: polynomial, rational, nth root, trigonometric, inverse trigonometric, exponential, and logarithmic.


Examinations and quizzes:  There will normally be a midterm examination, two or three shorter quizzes, and a comprehensive final examination.

   Final grades will be determined using the following approximate weights:  programming assignments - 50%; written homework - 15%; quizzes - 10%; midterm and final examination - 25% total.


Bibliography:
  • Acton, Forman S.   Real Computing Made Real.   Preventing Errors in Scientific and Engineering Calculations.   (Princeton University Press, 1996)
  • Adams, Brainerd, Martin, Smith & Wagener.   Fortran 90 Handbook: Complete ANSI/ISO Reference.   (Intertext/McGraw-Hill, 1992)
  • Bennett, W. R.   Scientific and Engineering Problem Solving with the Computer.   (Prentice Hall, 1976)
  • Carnahan, Brice; Wilkes, James O.   Digital Computing and Numeric Methods.   (John Wiley, 1973)
  • Ellis, T. M. R.; Phillips, Ivor R.; Lahey, Thomas M. Fortran 90 Programming Addison-Wesley, 1993 reprint.
  • Forsythe, Chester.   Contemporary Computing for Engineers and Scientists Using Fortran 90.   (PWS Publishing Company, 1997)
  • Metcalf, Michael; Reid, John.   Fortran 90 Explained.   (Oxford University Press, 1993 reprint)
  • Preuss, William H.; Flannery, Brian P.; Teukolsky, Saul A.; Vetterling, William T.   Numerical Recipes in FORTRAN.   The Art of Scientific Programming.   Second Edition.   (Cambridge University Press, 1992)
Salem State Home Computer Science Home Faculty Computer Studies Major Flow Sheet
Computer Studies Minor Courses Course Sequence Diagram Computer Laboratories