COMP/MATH 260       Computational Models and Methods Syllabus        Spring 2006

 

 

There are three texts for the Computational Models and Methods course: (1) The modeling textbook is A First Course in Mathematical Modeling, 3rd Ed., by Frank Giordano, et al., published by Thompson-Brooks/Cole in 2003.  We will primarily use this for the modeling portion of this course.  (2) The book on the philosophy of science is A Philosopher Looks at Science, by John G. Kemeny, custom-published (re-published) in 2004, based upon the original 1959 text.   (3) The Mathematica textbook is Getting Started with Mathematica, 2nd Ed., by C-K. Cheung, et al., published by Wiley in 2005. For the most part, excellent on-line help is available also. The methods and some models will also be presented in the instructor’s course notes (available online, in our course folder on the Q-Drive, to be treated as a reference), part of which should be printed from time to time and kept in a 3-ring loose-leaf lab book (along with your own class notes, assignment notes, and laboratory notes).  Handouts will be provided also.

 

This course is still relatively new throughout the country.  The needs and interests of the students’ influence the models used in this course.  It is expected, but not guaranteed, that the following organization will be followed (from Giordano’s twelve chapters) although not all chapters will be covered to the same degree.

 

  1.  Modeling Change

  2.  The Modeling Process

  3.  Model Fitting

  4.  Experimental Modeling

 

       Exam 1

 

  5.  Simulation Modeling

  6.  Discrete Probabilistic Modeling

  7.  Linear (Discrete) Optimization and Search Modeling

  8.  Dimensional Analysis

 

       Exam 2

 

  9.  Graphs of Functions as Models and Visualization

 10. Modeling with a Differential Equation

 11. Modeling with Systems of Differential Equations

 12. Nonlinear (Continuous) Optimization Modeling

 

       Exam 3

 

       Final Exam

 

Corresponding material from the Kemeny text will be covered in conjunction with the twelve chapters in Giordano.  Kemeny’s text has 16 chapters organized into three parts.  One: What Science Presupposes.  Two: Science.  Three: Problems Raised by Science.

 

It is also expected, but not guaranteed, that most of the following topics will be covered, although not all will be covered to the same degree:

 

Foundations of Modeling

·        The Study of Science

·        The Scientific Process

·        Scientific Research

·        Philosophy of Science

·        Science and Ethical Values

·        Computational Science

·        The Problem Solving Paradigm of Computational Science

·        Simplified Example of Problem Solving Paradigm

·        Problem Solving Revisited - What Can Go Wrong

·        Model Space: Classes of Mathematical Models

·        Analytic vs. Numerical Solution Methods

·        Physical Units, Constants, and Conversion Factors

·        SI Units

·        SI Prefixes and Usage

·        Dimensional Analysis

·        Sources of Error

·        Absolute, Relative and Percent Error

·        Approximation Error

·        Significant Digits in Measurement and Computation

 

Tools and Techniques for Modeling

·        Hardware and Software Tools for Computational Science

·        Mathematica®

·        Capabilities of the Mathematica System

·        Interpreted vs. Compiled Programming Languages

·        Using the Mathematica Interpreter

·        Some Useful Mathematica Kernel Functions

·        Numerical Computation with Mathematica

 

Discrete Modeling and Computational Considerations

·        Sequences and Series

·        Difference Equations and Operators

·        Solving Models of Difference Equations

·        Basic Recurrence Relations

·        Real vs. Floating-Point Number Systems

·        Floating-Point and Integer Arithmetic

·        Underflow, Overflow, Overflow and Roundoff Errors

·        Integer and Floating-Point Computation

·        Sensitivity of Floating-Point Operations

·        Conditioning of a Problem

·        Rules for Reducing Numerical Errors

·        Types of Scientific Models

·        Methods for Problem Analysis and Solution

·        Performing a Case Study in Problem Solving

·        Interval Arithmetic

 

Developing Functional Approximations and Models

·        Functions and Mathematical Models

·        Defining and Using Functions in Mathematica

·        The Taylor Series and the Remainder Term

·        Approximating Functions and Data

·        The Lagrange Polynomial and the Error Term

·        Multivariate Functions, Vectors, and Partial Derivatives

·        Least-Squares Approximation

·        Least-Squares Polynomials

·        Linear Combinations of Basis Functions

·        Nonlinear Models That Can Be Linearized

·        Characteristics of Models

·        Least-Squares Approximation with Mathematica

·        Interpolation vs. Least-Squares in Mathematica

·        Observation and Scientific Laws

·        The Experimental Method and Scientific Discovery

·        Multivariable Scientific Relationships

·        Sensitivity of Models

 

Linear System and Differential Equation Modeling

·        Scalars, Vectors, and Matrices

·        Vector and Matrix Computations

·        Solving Linear and Matrix Systems

·        Matrix Eigenvalues and Eigenvectors

·        Vector and Matrix Norms

·        Ill-Conditioned Matrices

·        Vector and Matrix Operations in Mathematica

·        Analytic Solution of Difference Equations

·        Scientific Visualization

·        Visualization with Mathematica

·        Animation in Mathematica: A Case Study

·        Difference Equations vs. Differential Equations

·        ODE Implementation in Mathematica

·        Partial and Integral Equation Models

 

Stochastic Modeling

·        Random and Pseudo-Random Numbers

·        Pseudo-Random Numbers and Simulation

·        Implementing Pseudo-Random Numbers in C++

·        Generating Uniform Pseudo-Random Numbers

·        Using Uniform PRNs in Mathematica

·        Other Statistical Distributions

·        Using Selected Distributions in Mathematica

·        Using Uniform Pseudo-Random Numbers in C++

·        Stochastic Simulation with Mathematica

 

Optimization Modeling

·        Zeros and Roots of Nonlinear Equations

·        Bisection Method

·        Newton Method

·        Writing a Bisection Function in Mathematica

·        Equation Solving and Root-Finding in Mathematica

·        Newton’s Method for Nonlinear Systems

·        Mathematica I/O: Example with an Input File

·        Optimization: Minimization or Maximization (Unconstrained and Constrained)

·        Unconstrained Optimization Methods

·        Unconstrained Optimization in Mathematica

·        Optimality Conditions for Unconstrained Minimization Problems

·        Constrained Optimization with Mathematica: Linear Programming

·        Sequential Unconstrained Minimization Techniques

 

 

COMPUTATION AND PROGRAMMING (PREREQUISITES):

 

Mathematica 5 will be used for this course to do most of the computations and the necessary programming.  It is currently installed on all of the KUSS laboratory computers as well as many others.  Currently Wittenberg has a site license for 30 simultaneous users.  If all copies happen to be in use when you invoke Mathematica, a message to that effect will be given.  For this course, programming is only the means to an end; neither programming nor mathematics is an end in itself.  Knowledge of Mathematica is not a prerequisite for this course.  The only prerequisites for this course are: (1) a general knowledge of programming (satisfied by COMP 150) and (2) an understanding of differential and some integral calculus (satisfied by MATH 131 or MATH 201).  However, the ability to use a scientific graphing calculator will be assumed in this course.

 

 


INSTRUCTOR:

 

James L. Noyes.           Office: Room 329H Science.

Hours: Regular hours are posted on the instructor’s office door and are also available from a file in our class folder.

Telephone: 327-7858 (Office - try this number first), 969-8414 (Home – please try to call between 9:00am & 10:00pm).

E-Mail: jnoyes@wittenberg.edu (normally checked 3-4 times daily on weekdays).

For more information, see the instructor’s home page on the Web.

 

 

COURSE GOALS:

 

·        To Understand the Meaning, Purpose, and Value of Computational Science

·        To Understand How to Use Scientific Models

·        To Learn How Models are Derived and Underlying Assumptions

·        To Understand the Methods Used to Solve Models

·        To Understand the Limitations of Both Models and Methods

·        To Learn How to Effectively Use the Computer and Software to Solve Models

·        To Understand the Importance of Appropriate Visualization Methods

·        To Employ Mathematica in Solving Problems and Validating Solutions

 

 

CLASS MEETINGS:

 

Classes will meet in KUSS 261 MWF 11:30am-12:30pm for lectures and Tuesday 12:30pm-2:40pm for the laboratory.  This means that the scheduled Final Exam time for this course is Wednesday morning, May 10th, 2006, from 8:00am until 11:00am.  The Final Exam will ONLY be given at this University-scheduled time, so do NOT schedule any conflicting events (such as airline flights) at this time.

 

 

GRADING:

 

The grade for this course will be based upon lab exercises, assignments, projects, three equally spaced tests, and a comprehensive final exam.  Some of these points may also be obtained from unannounced quizzes (which cannot be made up). Class attendance and participation is very important and will have a positive effect on your grade.

 

The points below are approximate, but they should be close to the following:

Laboratory Exercises, Assignments/Projects:                 500 points possible

Three Exams (at 100 points each):                                300 points possible

Final Exam:                                                                   200 points possible

====================================================

Total:                                                                          1000 points possible

 

The final grade for this course will be based upon the individual class average relative to the rest of the class.  If the score distribution starts in the 90%‑100% range, then a ten‑point spread will probably be used (e.g., 90% and above would be A-, A, or A+, 80% up to 90% is B-, B, B+, etc.).

 

 

LABORATORIES:

 

Unless otherwise stated or other arrangements have been previously made, all laboratory exercises must be done at the assigned time and the results turned in at the end of the period.  Normally, collaboration with other students in our class is permitted.  If you receive assistance from a classmate, be sure that you then understand how to do it yourself and can explain ALL of it.

 

 

NON-LAB ASSIGNMENTS (INCLUDING PROJECTS):

 

Assignments will be accepted in class.  They may also be turned in to the instructor’s office by 5:00pm on the day assigned with no penalty.  After that, up to 10% of the total points possible will be DEDUCTED per day late (including weekends).  Assignments will not be accepted after three (3) days unless there is some type of emergency situation and special arrangements are made ahead of time.  Late assignments should be slid under the office door (or under the department door, if it is locked) - be sure the instructor’s name is on it.  For some assignments, collaboration will be permitted, for other assignments, it will not.  Each assignment will indicate if collaboration is permitted.  When collaboration is allowed, it is to only involve students in our class.  As stated above, if you receive assistance from someone else, be sure that you then understand how to do it yourself and can explain ALL of it.  You may contact the instructor to answer questions not answered in class.  No other type of collaboration is permitted.

 

 

TESTS (EXAMS, QUIZZES, AND THE FINAL EXAM):

 

Exams and quizzes are typically (although not always) based upon what has been covered by lecture notes, previous labs, assignments, handouts, and text material.  Exams and quizzes CANNOT be taken later without a legitimately excused absence, which must be given in ADVANCE (e.g., death in the family, personal illness, class field trip, necessary Witt-sponsored activity).  This excuse is to be e-mailed to the instructor (jnoyes@wittenberg.edu) as far in advance as possible.

 

 


THE HONOR CODE AND ACADEMIC DISHONESTY:

 

Academic dishonesty of any kind on homework or exams is not acceptable.  This includes, but is not limited to, plagiarism or unauthorized collaboration with another individual on homework or tests. 

 

Unless otherwise specified, ALL HOMEWORK assignments are to be done UNAIDED.  If you have a question on any of the problem material or the code needed, you should contact the CS instructor ONLY.  You may always feel free to answer questions by another student about the syntax or semantics of the programming language (e.g., Mathematica).  However, you should NOT ask nor answer questions related to the specifics of an assignment nor look at (nor copy) each other’s mathematics, computer code, or write-up unless the instructor indicates in the assignment that it is permitted.  If you use code from a publicly available source, such as another text or public Web site, you must cite the source in your comments.  No collaboration is allowed unless specifically stated on the assignment sheet.  The following pledge must be both stated and signed by the student on each assignment, or the assignment will not be considered to have been turned in and it will not be graded:

 

I affirm that my work upholds the highest standards of honesty and academic integrity at Wittenberg and that I have neither given nor received unauthorized assistance.

 

Suspected cases of academic dishonesty will be reported to the Honor Council.  See your Student Handbook for more details regarding the Honor Code and academic dishonesty.

 

 

OVERALL:

 

You are responsible for: (a) attending ALL classes and labs, (b) reading the indicated written material, (c) participating and ASKING QUESTIONS in class, (d) starting assignments early and doing them carefully, (e) reviewing the on-line course notes and your own class notes, (f) thoroughly preparing for tests, (g) performing as much computer experimentation as necessary, and checking your Witt e-mail daily.