Applied Mathematics 4611F

Introduction to Object Oriented Scientific Programming

Course Outline Fall 2011

Instructor:  Prof. Zinovi Krougly, WSC 223, Email:


Class Times:  M W F     8:30 - 9:30 a.m. in P&AB-34 


Office Hours:  M W F     9:30 10:30 a.m. in WSC 223 or by appointment


Prerequisite(s): Calculus 1301A/B, 1501A/B, or Applied Mathematics 1413;

Applied Mathematics 2413, 2415, or 2813B.

Textbook:  There will be no prescribed textbook but a set of notes will be handed out during the lectures or will be given on the course website. 

Course Web Page:

Course Description: Basic introduction to C++, review of numerical methods applicable to problems in linear algebra and differential equations, introduction to the concept of object-oriented programming techniques, applications to scientific computation. Grade is based upon 4 assignments, two projects and a presentation.

Course Outline by Topical Areas:


  • Basic C++, Fundamental Types and Basic Operators
  • Functions, Recursion, Iteration Technique
  • Vectors and Arrays, Pointers and References, Dynamic Memory Allocation
  • Classes, Operators, Templates,  Standard Library
  • Input and Output, Testing and Debugging
  • Numerical Integration
  • Complex Analysis
  • Matrix Computations, System of Linear Equations
  • Numerical Methods for Ordinary Differential Equations
  • Optimization
  • C# (CSharp) application for the .NET Platform

Projects and Optional:

Computer algebra system, Partial Differential Equations, Eigensystem, Optimization, Interface C++ with Matlab and Mathematica (Simulating and Numerical computing, High precision software), Applications in Physics, Biology, Finance and Environmental Science.

Method of Evaluation:

5% Assignment 1 September 26, 2011
5% Assignment 2 October 12,   2011
5% Assignment 3 October 24, 2011
20% Programming project 1 - October 28, 2011      
5% Assignment 4 November 16, 2011
40% Programming project 2 December 2, 2011

10% Presentation December 5, 6, 7.

10% In Class Portion

In class portion: The in class portion of your grade will be determined by your instructor, and may include points for participation, in class quizzes, etc.

Optional Reading and References:

There are a large number of C++ books; here is a list of some that I have found useful.

  1. Computing Concepts with C++ Essentials, by C. Horstmann, 3rd edition, Wiley, 2003.
  2. The C++ Programming Language, by B. Stroustrup, 3rd edition, Addison-Wesley, 1998, Modified September 8, 2004.
  3. Introducing C++ for Scientists, Engineers and Mathematicians, by D. Capper, 2nd edition, Springer, 2001.
  4. C++ and Object Oriented Numeric Computing for Scientists and Engineers, by D. Yang, 2001.
  5. C++ How to Program, by H. Deitel and P. Deitel, Prenticce Hall, 4th edition, 2004.
  6. Engineering Problem Solving with C++, by D. Etter and J. Ingber, 2003, Prentice Hall, 2008.
  7. A First Course in Computational Physics and Object-Oriented Programming with C++, by David Yevick, Cambridge University Press, 2005.
  8. Essential C++ for Engineers and Scientists, by J. Hanly, Addison Wesley, 1997.
  9. Problem Solving with C++, by W. Savitch, Addison Wesley, 2008.

7.         Engineering Problem Solving with C++, by D. Etter and J. Ingber, Pearson education Inc, 2003.

8.         Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach, by

Yair Shapira, SIAM, Society for Industrial and Applied Mathematics, 2006.


Addendum to all Applied Mathematics Course Outlines:


The UWO Senate Academic Handbook has specified that the following points should be added to all course outlines:


Plagiarism: Students must write their essays and assignments in their own words. Whenever students take an idea, or a passage from another author, they must acknowledge their debt both by using quotation marks where appropriate and by proper referencing such as footnotes or citations. Plagiarism is a major academic offence (see Scholastic Offence Policy in the Western Academic Calendar). If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or other supporting documentation to the Dean's office as soon as possible and contact your instructor immediately.  It is the student's responsibility to make alternative arrangements with their instructor once the accommodation has been approved and the instructor has been informed. In the event of a missed final exam, a "Recommendation of Special Examination" form must be obtained from the Dean's Office immediately. For further information:


A student requiring academic accommodation due to illness, should use the Student Medical Certificate when visiting an off-campus medical facility or request a Records Release Form (located in the Dean's Office) for visits to Student Health Services. The form can be found here:

Accessibility Statement 
Please contact the course instructor if you require material in an alternate format or if you require any other arrangements to make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding an accommodation.