Fortran and Unix for Physics and Astronomy
Fortran Exercises
[Please also look at the Suggested Schedule] The exercises are distributed as Adobe PDF files. To view them you need to have a "reader" program such as the Adobe Acrobat Reader. (The exercise files are also available here as PostScript files.)
List of Exercises
[01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] | [17] [18]
- Lesson 01 - Getting Started: How to Login to the Computer
- How to log in to the computer from the console, or remotely from Windows, Apple, or Unix computers.
- How to choose a "bad" password
- Download PuTTY, a free Win32 SSH client
- Sample configuration files:
sample.login, sample.cshrc, sample.emacs, sample.logout
- Lesson 02 - How to send E-Mail in Unix
- How to send e-mail on a Unix computer using Berkeley mail or Pine.
- Sample configuration files:
sample.mailrc, sample.pinerc- Configuring Pine, Netscape, or Eudora for reading IMAP e-mail
- Download Pine for Windows and Unix
- Download Pine for Mac OS X
- Lesson 03 - Compiling a FORTRAN program: the "Hello World" program
- Using the compiler to create and run the simplest Fortran program.
- How to get help in Unix.
- Learning the UNIX Operating System
by Grace Todino, John Strang, and Jerry Peek
- Lesson 04 - Editing with the Emacs Editor
- How to use the emacs text editor to create and edit programs and other files.
- A sample Fortran program: avgvar.f
- Introduction to the Emacs Editor
- A summary of the most useful emacs keys.
- A reference card for emacs (A more complete summary).
- A sample .emacs file. (Copy this to your home directory.)
- Lesson 05 - The "assignment" statement - Aircraft Weight and Balance
- Writing your first program 'from scratch'.
- Fugu - a Secure Shell copy client for the Mac
- SSH Secure Shell Client for Windows XC
- The first computer "bug", (found 9 Sept. 1945 in the Mark II Aiken Relay Calculator at Harvard)
- Lesson 06 - Conditional Execution - the IF Statement
- How a program can make decisions and select between choices.
Directories and subdirectories in Unix.
- Lesson 07 - Iteration -- the DO Loop
- How to repeat the same part of a program a given number of times.
Compiling and debugging with emacs
- Lesson 08 - The REAL DO Loop
- Repeating steps using REAL variables to approximate continuous motion.
How to put a file on the World Wide Web.
- Lesson 09 - Nested DO Loops
- Repeatedly repeating - putting loops inside of loops inside of loops...
How to format a simple web page using HTML.
- A Beginner's Guide to HTML (from NCSA, home of Mosaic)
- HTML 3.2 Reference Specification
- HTML makes it to the comics
- Student web pages:
thfondak, bekluewer, perobinson, kilefkowitz maalmeida edbinka
- Lesson 10 - Building A Better Bomb Code - the Flour Bomb program
- Simulating an object dropped from an airplane with air resistance.
(This is the mid-term project.)
- Lesson 11 - The Bubble Sort
- The simplest method of sorting a list of numbers.
Reading from and writing to files.
Compiler options
Unix command aliases
- GNU Fortran compiler command line options
- Lesson 12 - The Selection Sort
- A more efficient method of sorting a list of numbers.
Algorithms and operation counts.
- Lesson 13 - Sorting with Heapsort
- The most efficient method of sorting a list of numbers.
Introduction to Numerical Recipes
Using the Revision Control System (RCS).
- The heapsort subroutine - heapsort.f
- A Quick Introduction to RCS (the Revision Control System)
- Lesson 14 - Functions and COMMON blocks
- Putting common operations into function subprograms.
Global common storage.
Numerical simulation with cross-checks
Introduction to the X11 windowing system
- A Tutorial Intruduction the the X Window System"
- Download X11 for MacOS X (10.3)
- Download Cygwin/X for Windows
- XFree86 Project
- The X Windowing System
- Lesson 15 - System Libraries and Computer Graphics
- Simple computer graphics
Using system libraries.
Application Programmer Interfaces (API's)
- Simple curve plotting using VOGL - curve.f
(You will also need CVstate.f, fvogl.h, and fvodevice.h.)- Sample .xinitrc file.
- Sample .twmrc file.
- Sample .Xdefaults file.
- Lesson 16 - Oh Say Can You C?
- Compiling and running programs written in C
- The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie (Prentice Hall, 1988)
- C++ for Physicists by Paul Kuntz (on-line CERN training session from the Web Lecture Archive Project
Optional Exercises - Still under development
- Lesson 17 - Recursion
- Using functions that are called by themselves
Calling C functions from a Fortran program
- Lesson 18 - Computer Graphics with OpenGL and GLUT
- Using the OpenGL graphics library, with the GL Utilities Toolkit (GLUT)
- SGI OpenGL home page
- SGI OpenGL/GLUT examples
- GLUT source code (tarball)
- GLUT examples source code (tarball)
- make.tar.gz for SGI
- glut-bin.tar.gz - pre-compiled GLUT for SGI IRIX/64
Copyright © 1997, 1998, 1999, 2003 by Eric Myers