^ Up to course homepage.

Recent information on "Introductory Course on Scientific Programming"

Latest news

[08/30 08:00]
Updated versions of diffop.c and diffop.h supporting tridiagonal matrices. The graphs generated can also be printed in this version. A properly formulated version of last Friday's exercises is now available.
[08/27 13:00]
diffop.c and diffop.h added.
[08/25 13:00]
Makefile for compiling C-files and linking with LAPACK library added.
[08/24 12:00]
Script plotdata for plotting columnwise data using gnuplot added.
[08/23 07:00]
Slides for the 11 first lectures and computer exercises for Monday afternoon are now available in postscript format.
[08/12 14:00]
The first lecture will be given the 23rd of August at 9.15 in room 4523, floor 5, Nada.


The lecturer is Christer Andersson,


Copies of slides will be handed out during the course (can be downloaded below). More detailed information can be found in the reference material.

Schedule & Course plan

This intensive course will be given between Monday the 23rd of August and Tuesday the 31st of August 1999. The schedule for each weekday is (with some modifications)

Time Activity Room
9.15-10.00Student presentations & discussion 4523
10.15-11.00Lecture 4523
11.15-12.00Lecture 4523
12.00-13.00Lunch -
13.00-16.00Computer exercises Red (Röd)

On Tuesday August 24 an information meeting will be held at 16.15 in room 1537, floor 5, Nada. Contact Lennart Edsberg for further details.

To pass the course students must complete programming exercises and present the results in class. There will be no exam.

The following course plan should be considered to be preliminary. Topics may be added or deleted depending on the previous experience of the students.
Day Covered topics
Monday 08/23 A short introduction to Unix & CDE, basic constructs in C: arithmetic expressions, formatted input/output, selection & iteration statements, compiling & linking
Tuesday 08/24 Functions in C, passing arguments by value, arrays, multi-dimensional arrays and efficiency, arrays in C and Fortran, redirecting input & output in Unix, gnuplot
Wednesday 08/25 Pointer variables, passing arguments by reference, arrays & pointers, dynamic memory allocation, functions in C, C++ and Fortran 77, formatted & binary file I/O
Thursday 08/26 Strings, reading command line arguments, interaction with C programs and shell, makefiles, writing large programs (> 10000 lines)
Friday 08/27 The C preprocessor, portability, conditional compilation, mixing C, C++ and Fortran 77 code, call conversion interfaces, structures & type definitions, enumerations, function pointers, structures and C++-classes
Monday 08/30 MATLAB
Tuesday 08/31 The lectures will be devoted to the refresher material. Computer exercises on MATLAB.


Date Handouts
08/23 Slides ( Lecture 1 , Lecture 2 , Lecture 3 ) , Computer exercises , Excerpts from "The Linux User's Guide", "Getting Started With Email Using Pine" , "Working with Matlab, a first example"
08/24 Slides ( Lecture 4 , Lecture 5 ), Computer exercises
08/25 Slides ( Lecture 6 , Lecture 7 ), Computer exercises
08/26 Slides ( Lecture 8 , Lecture 9 )
08/27 Slides ( Lecture 10 , Lecture 11 ), Computer exercises
08/30 Computer exercises, diffop.c documentation
Red links are currently not working.

(How to view and/or print these handouts.)

Reference material

The following reference manuals are available in HTML-format All these manuals refer to GNU products. Information on Sun compilers (as well as hardware and other application programs) can be found in the library of Sun technical documentation.

Full Matlab documentation is available at the MATLAB Help Desk which can be accessed by giving the command doc at the Matlab prompt. Some future courses will use the The MATLAB 5 Handbbok which is available at the bookstore "Teknologbutiken" located on the KTH Campus.

Source code

^ Up to course homepage.

Responsible for this page: Christer Andersson <>
Latest change:
Technical support: <>