The Fortran mini-seminar series is a not-for-credit class for students, staff & faculty who are interested in learning Fortran at various levels, including beginner programming basics, through intermediate and advanced topics, into makefiles and concluding with running codes in parallel.

A spring 2017 class will be run! If you are interested in this class, email Kelley Branson.

Updated January 6, 2017
Jump to: Current Class Notes | Resources | 2007 Class Notes | 2009 Class Notes | 2012 Class Notes | 2014 Class Notes

2017 Seminar Schedule

All classes in the Atmospheric Science West classroom on the Foothills Campus.
Class time to be determined in early January.

Date Presenter Topic
January 25 Mark Branson Introduction: Steps for writing and compiling a fortran program, Basic syntax and structure
February 1 Mark Branson Data types and basic calculation
February 8 Mark Branson Control constructs (IF statements and blocks, DO loops, SELECT CASE statement)
February 15 Mark Branson Array concepts
February 22 Mark Branson Subroutines, Functions and Modules
March 1 Mark Branson Subroutines, Functions and Modules, continued
March 8 Mark Branson Modules continued, Kind & precision
March 15 SPRING BREAK No class
March 22 Don Dazlich File i/o including netcdf
Mar 29 Mark Branson Derived types and introduction to makefiles
April 5 Don Dazlich Optimization and debugging, numerical errors
April 12 Mark Branson Makefiles
April 19 Ross Heikes Pointers
April 26 Don & Ross Coding for multi-processor runs: parallelization, MPI, etc

Resources
  • Books
    • Programmer's Guide to Fortran 90, by Brainerd, Goldbert and Adams
    • Fortran 90/95 for Scientists and Engineers, by Stephen J Chapman
    • The Fortran 2003 Handbook: The Complete Syntax, Features and Procedures, by Adams, Brainerd, Hendrickson, Maine, Martin and Smith

  • Web Links

  • CSU Classes of Interest
    • ATS607: Computational Methods in Atmospheric Science -
      Offered Spring of 2017 at Atmospheric Science, the goal of this class is to provide the basics of computer programming, plotting, file input/output, and numerical-method techniques to enhance research projects. ATS methods will be applied to a wide range of physical and atmospheric systems.
      Contact Prof Jeff Pierce for information.

    • CS 475: Parallel Programming-
      Fall
      Prerequisite: CS370
      Parallel programming techniques for shared-memory and message-passing
      systems; process synchronization, communication; example languages.

    • CS 560: Foundations of Fine-Grain Parallelism-
      Prerequisite: CS 475.
      Programming novel architectures; performance tuning; automatic parallelization; program transformation; polyhedral model; equational programming.

    • CS 675: Advanced Parallel Computing-
      Advanced topics in parallel computing, computaional models, parallel languages and algorithms, distributed simulation, Internet and mobile computing, parallel search.