MEDGAR EVERS COLLEGE of CUNY
Department of Physical, Environmental and Computer Sciences
Department Office, Carroll 417 - Phone 718-270-6453

Scientific Programming (CS 345), Spring 2005

COURSE DESCRIPTION: This course is a survey of numerical algorithms for scientific computation involving both data and images. It covers basic concepts of numerical error, interpolation, integration, regression and others.. Computer implementations aspects are also investigations. Student programming applications will involve real-world datasets from NASA and NWS using C++ and IDL.

PREREQUISITES: Math 203, CS 246

COURSE  OBJECTIVES:

  1. To teach students that “algorithms that are equivalent mathematically may behave very differently”
  2. Implementation of numerical methods in C++ and IDL
  3. Data and Image Analysis using IDL

COURSE METHODOLOGY: This course will consist of both lecture and lab components. Students will be responsible for implementing lab projects in class and will be graded on in-class work. The lab components will represent initial stages of programming projects that must be completed outside of class time.

.COURSE MATERIAL:
Required Text: Numerical Recipes in C: The Art of Scientific Computing, by William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling, 2nd Edition, Cambridge University Press
Supplemental Text: IDL Programming Techniques by David Fanning, 2nd Edition

COURSE REQUIREMENTS AND GRADING PROCEDURE
Final grade will be determined using a weighted average of homeworks, programming projects, exams, lab assignments, the final exam and a final presentation as follows:

1. Programming Projects             25%
2. Homework                             10%
3, Labs                                     10%
4. Exam 1                                 15%
5. Final Exam                            30%
6. Final Presentation                  10%

Academic Requirements and Regulations:  Students who officially withdraw from a course between the 4th through the 8th week receive a grade of W, which is not counted in computing the grade point average.  Courses officially dropped after the 8th week of class will appear as a WF and count as an F grade.  INC (Incomplete) or ABS (absent) grades will only be given to students who are passing the course.

Honor Code and Plagiarism: Students are required to sign and adhere to the departmental honor  pledge.  Check with the department for a copy of the pledge.

CUNY Proficiency Examination (CPE)

The CPE is a graduation requirement.  All students between 45-60 credits are required to sit for and pass the CPE.  You have only three chances to pass this examination.  Each missed scheduled examination after the 45 credit mark counts as a failure.  For more information about this requirement, contact the Medgar Evers College CPE Liaison.

COURSE OUTLINE:

Week 1 - Overview               
Computer Languages and systems for Scientific Programming
Error and Approximation
Lab: Series computation and complexity

Week 2 – Floating Point representation
Lab: Taylor series approximations

Week 3 -  Numerical Integration – 1
Lab: Riemann Sums

Week 4 – Numerical Integration – 2
Lab: Trapezoid Rule

Week 5 – Numerical Integration – 3
Lab: Simpson’s rule

Week 6 – Curve-fitting and function approximation
Lab: Data Analysis application

Week 7 – Root-Finding – Newton’s Method
Lab: Implementation of examples

Week 8 – Introduction to IDL
Lab: Integration using IDL

Week 9 – IDL Graphs and Plots
Lab: Blackbody Radiation example

All IDL-based labs will involve applications with NASA mission datasets

Week 10 – Image and Data Analysis using IDL, scaling, displaying, image statistics, etc.

Week 11 – Image Enhancement Techniques

Week 12 -  Image Transformations – spatial domain filtering

Week 13 – Image Transformations – frequency domain filtering, FFT

Week 14 – Survey of selected pattern recognition techniques