The Institute for Computational Sciences and Informatics- FALL 2002


CSI 603 Section 001

Introduction to Scientific Computing I:

C/C++ with Elementary Object Oriented Design


Instructor: John Tan

Email: jtan1@scs.gmu.edu

Office:

Phone: 703-558-8872

Time/Dates: Lecture: R Lecture: R 6:00p.m. - 8:15p.m.

Place: ST 206, lab: ST 228

Online Documentation: http://turtle.gmu.edu/~csi603/


Course Description:


This one credit course covers some of the fundamental aspects of scientific programming such as relevant data structures and programming constructs. The emphasis of this course is on programming for scientific applications, furthermore, the features available in C++ will be utilized to introduce object-oriented programming to the student. The course will be taught using naming conventions and techniques intended to expose the student to the object oriented design paradigm.


TENTATIVE


Course Outline:


Date: 09/05/02

Language keywords and naming conventions

Data types

Arithmetic and Assignment operations

Basic control constructs

Functions

Program Design Concepts


Date: 09/12/02

More examples of data types, control constructs, and functions

Memory Addresses, Pointers, references, and dynamic memory allocation



Date: 09/19/02

Multidimensional arrays and Matrices

Derived types: Classes, Structures

Data Encapsulation and Abstraction



Date: 09/26/02

More on Classes, Structures

Project Topics Due


Date: 10/03/02

Object-Oriented Programming and Design

Function and Operator overloading

File input/output

The Standard Library



Date: 10/10/02

Review

Possible Additional Topics: Optimization, Numerical Precision

Final Project Due


Date: 10/17/02

Final Exam




Course Materials:

Text: C++ and Numerical Methods, J. M. Ortega

Schaum’s Outlines Programming With C++, John Hubbard




Grading:

Grades will be based on a 100 point scale

5 Homework assignments: 15 points each

1 Final Exam: 25 points

*A passing grade of 70 or higher is required on the final exam to pass the course.


Honor Code:


In this course at times you will work in a computer lab with other students learning the same material you are learning and working on the same course projects (homework) you are working on. It is acceptable to work together in the "learning" phase of each course section. That is, you may give and accept help on any material that is NOT part of a project assignment. (The projects will be graded and these grades will be used to determine your final course grade.) The work submitted for a project MUST be done by you without help from anyone in or outside of the class.

http://www.gmu.edu/facstaff/part-time/app-b.html