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.