
"Fortran 95" is a powerful, high level language designed for mathematical modeling. It is a safe language that gives high performance, with many features attractive to scientists who want to spend a minimum amount of time programming, such as leak-proof dynamic memory. Although it is not a fully object-oriented language, it supports enough features that object-oriented design can be implemented. This is important because it allows more complex software to be constructed. These lectures are intended to introduce "Fortran 77" programmers to the new features of " Fortran 95". Strategies for how to modernize old "Fortran 77" codes incrementally, as well as object-oriented design in "Fortran 95" will be discussed.
First meeting: April 3, 2002
Schedule: Every Wednesday, from 3-4:30 p.m.
Location: Kinsey 141
Contacts: Decyk@physics.ucla.edu, http://www.physics.ucla.edu/psti
Part I: Overview of new features of Fortran90/95
Lecture 1: Types, Program Units, Flow Control, Iteration
Lecture 2: 1D Array Processing, Derived Types
Lecture 3: Multi-dimensional arrays, Pointers
Lecture 4: I/O, Advanced Features
Part II: Overview of Object-Oriented Concepts
Lecture 5: Information Hiding, Function Overloading, and Abstract Data Types
Lecture 6: Inheritance and Dynamic Dispatch
Part III: Case Study: QuickPIC Framework
Lecture 7: Frameworks Overview and Lower Level Classes
Lecture 8: Middle Level Classes
Lecture 9: High Level Classes
Related Full Papers by V. K. Decyk, C. D. Norton, and B. K. Szymanski:
Introduction to Object-Oriented Concepts Using Fortran90, 1996
How to Express C++ Concepts in Fortran90. 1997
How to Support Inheritance and Run-Time Polymorphism in Fortran90, 1998
A Simplified Method for
Implementing
Run-Time Polymorphism in Fortran95, 2004
Object-Oriented Design
Patterns in Scientific Codes using Fortran95, 2006