Introduction to Scientific Computing Languages  201011
[Presentation]
Prerequisites:
Basic knowledge of numerical linear algebra, programming languages, algorithms.
Overview:
The goal of the course is to provide the students with tools to 1)
achieve effective prototyping through highlevel languages, and 2)
write highperformance programs in C and/or Fortran. In this
respect, programs will be evaluated with respect to metrics like
performance, readability, elegance.
We will discuss programming languages and tools especially
suitable for numerical & symbolic computations, data
visualization, and highperformance computations. The focus will
be on Matlab, Mathematica, Python and C; no prior knowledge of
these languages is required. Depending on time, we will also cover
standard computational tools and Fortranbased libraries like
BLAS, LAPACK, MPI, ...
The course is hands on. The students are expected to solve (and
compete on) simple programming assignments and to present approach
& results in front of the class.
Tentative syllabus: Intro; Matlab; Python; Mathematica; imperative
vs. functional programming; data visualization; C;
highperformance computations; numerical libraries; parallelism.

Winter semester 201011.

CAMPUS #: 10ws14775

Lectures begin: Thursday, October 14 In the morning.

Lectures & Exercises:
Thursdays, 10.3012.00, Rogowski 115  AICES seminar room (Schinkelstrasse 2)
Thursdays, 17.0018.30, Rogowski 115  AICES seminar room (Schinkelstrasse 2)

Office hours: Tuesdays, 11am1pm, AICES R432 (Rogowski Building  Schinkelstrasse 2)

Lectures:

Introduction to the Languages
History of Programming Languages

Matlab  part 1

Thursday 28: Matlab  part 2 (lecture 2 updated).

November 4:
Performance
Matlab  part 3: Visualization.

November 11 & 12: Python

November 18: Mathematica  part 1
Tutorial

November 25: Mathematica  part 2. See the updated Tutorial.

December 2: Mathematica  part 3: Visualization.
Programming. See the updated Tutorial.

December 9: Floating Point Arithmetic.

December 16: C  part 1.

January 13: C  part 2.

January 20: BLAS, LAPACK, FLAME notation, FLAME@lab.

January 27: C challenge. FLAME@Lab.