Numerical Analysis Spring 2008

Professor: Dr. Ron Smith
Office: 120 Science
Phone: Office 784-5283; Home 784-6473

Office hours:

MWF 10-12; TR 9:30-11:30. You are the reason I am here. Please come see me anytime. For a 20-minute appointment, just sign up on the sheet outside my office door or call me. You do not need to sign up in advance, but if you will please sign when you come, the time will be reserved for you. Also, if someone is in the office and you are signed up, please make your presence known!

Materials:

The required text is Numerical Methods in Engineering with Python, by Jaan Kiusalaas.

Scope:

Numerical Analysis is a course for those who want to use the computer to solve math problems. This class serves as both a programming course and a survey of numerical methods, using the language Python as a tool for implementing the algorithms. We will cover the following basic topics: programming in Python, algebraic equations, interpolation and curve fitting, locating roots of equations, differentiation, integration, and ordinary differential equations. This material is covered in chapters 1-7 in the text.

Expectations of the Student:

A Numerical Analysis student will ...
  1. Come to class on time every day and stay the entire period,
  2. 2. Have paper and pencil out on the desk at the beginning of class ready to work.
  3. Schedule at least 1 to 2 hours outside of class each day for studying numerical analysis.
  4. Read each section and work each example with paper and pencil or computer.
  5. Hand in homework on time, whether electronic or manual.

Expectations of the Instructor:

I will ...
  1. Start and end class on time, or within 3 minutes of the scheduled time.
  2. Be prepared for class every day.
  3. Grade and return homework and exams within 2 class days.
  4. Treat every student with respect.
  5. Learn each student's name.
  6. Answer every question in a respectful, truthful manner.
  7. Post homework assignments with clear due dates.
  8. Be available in my office during office hours, and give priority to anyone signed up.
  9. Grade all exams myself, completely, equitably, and clearly.
  10. Do my best to make every minute of every class a learning experience.


Grades:

Grades will be based on attendance, quizzes, and exams. You will need 87.5% for an A, 75% for a B, 62.5% for a C, and 50% for a D.
  1. Homework (75%) There will be one programming problem due each week, each worth 100 points.
  2. Exams (25%) There will be one midterm exam (100) and one final exam (100). You must take the final exam at 1:00 p.m. on Tuesday, May 13. The final exam will be comprehensive, and may include programming problems involving the programs that you have written during the course.

Electronics:

Cell phones, pagers, or other electronic devices intended to facilitate communication between students must not be used during lectures or exams.

Incompletes:

Incompletes for the course require signing a contract for making up work, and must be initiated by the student.

Academic Integrity:

Honesty is a prerequisite for being a competent person. If you copy solutions to problems from any source, you are required to acknowledge the source. This includes copying from friends or old homework/test files. Working together for inspiration and asking for hints is allowed on everything but exams. However, write-ups must be your own. For more on this subject, see the college policy printed in the handbook.

Disabilities:

Any student who, because of a disabling condition, may require special arrangements in order to meet course requirements should contact the instructor as soon as possible to make necessary accommodations.

Tentative Course Schedule

DayDateTopic
11/29/081.1-3 Intro to Python
21/31/081.4-7 Python Con't
32/5/082.1-2 Gaussian Elimination
42/7/082.3 LU Decompositions
52/12/08As needed
62/14/082.4 Symmetric & Banded systems
72/19/082.5 Pivoting
82/21/083.1-2 Polynomial Interpolation
92/26/083.3 Cubic Splines
102/28/08As needed
113/4/083.4 Least Squares
123/6/08As needed
133/11/08Review
143/13/08Exam 1
153/25/084.1-4.3 Bisection
163/27/084.4 Brent's Method
174/1/084.5 Newton-Raphson
184/3/084.6 Systems of Equations
194/8/08As needed
204/10/085.1-2 Finite Difference Approximations
214/15/085.3 Richardson Extrapolation
224/17/085.4 Derivatives by Interpolation
234/22/086.1,2 Newton-Cotes
244/24/086.3 Romberg Integration
254/29/08As needed
265/1/087.1,2 IVT Taylor Series methods
275/6/087.4 Runge Kutta Methods
285/8/08Review
5/13/08Final Exam

Numerical Analysis Program Rubric

Group Item Possible Points
I. Viability 1. Written conclusions meet specifications in the assignment.* 20
2. Program works on Teacher's test Data.* 20
II. Timeliness 3. Program is turned in on time. Loss of 5 points per day late. 15
III. Documentation 4. Program Name is present on all files/folders turned in 10
5. Module doc string is present in all program files 5
6. Module doc string contains Title, Author, and Date 5
7. Each function has an appropriate doc string 10
8. White space is used appropriately as per Guido.** 5
9. Comments are used appropriately as per Guido.** 5
10. Program is single file or contained in a folder 5
Total 100
IV. Extra Credit 11. Program meets all specifications for Extra Credit 10
12. Early points (1 point for each full day before due date) 5
Grand Total

* Not all program require separate written work or separate test Data.
Viability is still worth 40 points.

**See Van Rossum, Guido. Python Style Guide.



Last Update: January 28, 2008
Ronald K. Smith
Graceland College
Lamoni, IA 50140
rsmith@graceland.edu