Intelligentedu
Best New Free Computer IT Training Tutorial Resources


March 28, 2009

Programming in C, C++, Perl, Java, and Fortran

Here are several slide presentations, programming tutorials, and some programming books that will teach you Programming in C, C++, Perl, Java, and Fortran, and also show you how to get started with Multithreaded and Shared Memory Programming. These programming learning materials are made available by the Georgia Institute of Technology .


Introduction to Scientific Computing
Here are 17 detailed slides that provide an introduction to Scientific Computing. The contents review: Requirements of scientific computing, Some definitions of terms used in scientific computing, Computer architectures, and Benchmarking. (17 pages, 356kb, pdf)


Introduction to C and C++ Programming
This is a 21-slide presentation giving a general overview, with a few coding examples, of the C and C++ programming languages. (21 pages, 48b, pdf)


OpenMP: An API for Portable Shared Memory Programming
This is a presentation of 26 slides that gives an overview and explains some of the details of Shared Memory Parallelization and OpenMP. (7 pages, 41kb, pdf)


C Programming Tutorial

   Section 1: Basic C

  1. Introduction
  2. Basic C, Operations, Types, Storage Classes
  3. Functions, Preprocessor
  4. Input/Output, File Input/Output
   Section 2: Advanced C
  1. Pointers
  2. Arrays
  3. Dynamic Memory Allocation
  4. Strings
  5. Structures
  6. Advanced Data Structures
   Section 3: Appendix
  1. Make and Makefiles
  2. Debugging Techniques
  3. Creating Libraries
  4. Programming Tips and Tricks

Perl Programming Tutorial

   Section 1: Simple Perl
  1. Introduction
  2. Data Structures: Scalars, Arrays, Hashes
  3. Program Control and Functions
  4. Input/Output, File Input/Output, Command-Line Arguments
   Section 2: Beyond Simple Perl
  1. Records and References
  2. Regular Expressions and String Manipulation
  3. Manipulating Files and Directories
  4. Process Management

Multithreaded Programming: Improving Performance through Threads

An overview and tutorial, with coding examples, of multithreaded C programming.
 - What is a thread?
 - Thread Design Patterns
 - Protecting Shared Resources
 - Thread Synchronization Primitives
 - POSIX pthreads
 - Performance Considerations
 - Multiprocess Programming
 - Resources


Online Programming Books and Manuals:

Thinking in Java, 2nd Edition (Revision 12)
 - Source Code (zip format)

Thinking in C++: Volume 1, 2nd Edition
 - Source Code (zip format)

Thinking in C++: Volume 2, 2nd Edition (Revision 2)
 - Source Code 1 (zip format)
 - Source Code 2 (zip format)

Fortran 90 and Computational Science



Tags for this post>> | | | |

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 7:25 am


February 22, 2008

Fortran 90 Tutorial Course

Fortran was developed for general scientific computing and is a very popular language for this purpose. In 1996 it was estimated that Fortran was employed for more than 90% of scientific computation (see Scientific Computing World, April 1996). Here is a Fortran 90 Tutorial Course, from Durham University, that gives you an introduction to programming in Fortran 90. The elements of programming are introduced in the context of Fortran 90 and coding examples and exercises are used to demonstrate their use. Upon finishing this Fortran tutorial course, you will have enough understanding of programming and Fortran 90 to code straightforward programs. The course is designed for those with little or no previous programming experience, but you will need to be able to work in linux or Unix and use a linux or Unix text editor. (61 pages, 410kb, pdf format)

This Fortran course consists of five parts:

  • Part 1: Getting started: programming basics
  • Part 2: Input and output, and using intrinsic functions
  • Part 3: Arrays: vectors and matrices
  • Part 4: Program control: do loops and if statements
  • Part 5: Subprograms: functions and subroutines

Contents of Fortran 90 Tutorial Course:
1.   Introduction
2.   Programming basics
   2.1 The main parts of a Fortran 90 program 
   2.2 The layout of Fortran 90 statements
3.   Data types
   3.1 Constants
     3.1.1 Integers
     3.1.2 Reals
     3.1.3 Double Precision
     3.1.4 Character
     3.1.5 Logical 
     3.1.6 Complex
   3.2 Variables
4.   How to write, process and run a program
   4.1 Writing the program 
   4.2 Compilation and linking
   4.3 Running the program 
   4.4 Removing old files
5.   Converting between types of variable.
6.   The hierarchy of operations in Fortran 
7.   About input and output
   7.1 Redirection of input/output 
   7.2 Formatting input and output 
   7.3 E format and D format 
8.   More intrinsic functions 
9.   Arrays 
   9.1 Whole array elemental operations 
   9.2 Whole array operations
   9.3 Working with subsections of arrays 
     9.3.1 Selecting individual array elements
     9.3.2 Selecting array sections
     9.3.3 Using masks
   9.4 Allocatable arrays
10. Parameters and initial values 
11. Program control: DO loops and IF statements
   11.1 DO. END DO loops
   11.2 IF statements
     11.2.1 More about the where statement
   11.3 CASE statements
   11.4 Controlling DO loops with logical expressions
     11.4.1 Conditional exit loops
     11.4.2 Conditional cycle loops
     11.4.3 DO WHILE loops
   11.5 Named DO loops and IF statements
   11.6 Implied DO loops 
12. Hints on debugging programs
13. Subprograms
  13.1 Functions 
  13.2 Subroutines 
    13.2.1 Generating random numbers
  13.3 Storing subprograms in separate files
  13.4 Using subroutine libraries 
    13.4.1 The NAG library 
    13.4.2 Other external libraries 
    13.4.3 The 'Numerical Recipes' book
14. Modules 
  14.1 Sharing variables and constants 
  14.2 Module subprograms 
15. About Fortran 77 
  15.1 Fixed form syntax 
  15.2 Specific intrinsic functions
  15.3 Common blocks
  15.4 'Include' files 
  15.5 Standard F77 DO loops 
16. Further information 


Tags for this post>>

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 10:10 pm


Powered by WordPress