Eastern Kentucky University

Department of Computer Science

Course Offering for Fall 2009

 


Course Number and Title:

Meeting Times:

Instructor Contact Information:

Textbook:

Resource Website:

CSC 507/707  Numerical Analysis for Algorithm Development

TR 4:30 – 6:00 PM

Ken Dutch, WALL 137, dutchk@eku.edu

Burden and Faires. “Numerical Analysis, 8th edition”

www.as.ysu.edu/~faires/Numerical-Analysis


 

Overview:   Numerical Analysis is the study of algorithms used to solve mathematical problems.  We will look at the inner workings of many standard algorithms and learn how to adapt them to particular situations.  In many situations, we will have choice of several approaches and will compare the resulting programs in terms of speed, accuracy, stability and consistency.  However, we will also discuss good programming practice concerning readability of code and ease of use.  For undergraduates this will be taught as an initial survey course, providing a breadth of exposures to different mathematical settings:

·         Round-off issues in programming

·         Finding zeros of single-variable equations

·         Interpolation methods for fitting data

·         Numerical differentiation and integration

·         Matrices and solution of linear systems

·         Estimation methods for nonlinear systems

·         Numerical solutions of differential equations

I will meet with graduate students during the first week of class to discuss various ways that the course can be supplemented to earn graduate credit, including

·         Additional rigor (studying the mathematical proofs of main results)

·         Additional topics (or deeper investigation of methods for the main topics)

·         More-involved programming projects (for individuals or groups)

·         Independent investigation (reading theory or application papers)

·         Preparation and presentation of topics for the course

All students will be expected to learn how to read and discuss the coding of others, and will be expected to listen to and implement the critiques of others on their own coding.


 

Structure:   The majority of the class time will be interactive lecture with some moderated discussion.  Students will be encourage to work in groups on most course homework and projects, and in-class or online quizzes may be used to monitor individual progress.  Approximately 40% of the course grade will be based on exams and a final.

 

Prerequisites:  I had originally planned on requiring Calculus III and Linear Algebra.  However, I think that I can waive those requirements for students who have passed Calculus II with a B or better, as long as there is an understanding that there may be some additional readings at the beginning of the course to introduce the math topics before we discuss algorithmic solutions.  If there is sufficient interest, I would be wiling to podcast a series of short lectures to introduce the math topics and will even make them available before the term starts if that will enable more students to do well in the course.

 

Questions:  Please contact me by email if you have any questions about the course.  If you’re interested in looking at some finished versions of programs that we will be studying, go to the site http://www.as.ysu.edu/~faires/Numerical-Analysis/DiskMaterial/index.html and click on your preferred programming language.