Introduction to Languages for Scientific Computing --- 2013-14
- Winter semester 2013-14.
- CAMPUS #: 13ws-14775
- Lectures begin: Thursday, October 17, 2.15pm.
-
Lectures & Exercises:
Mondays, 2.15-3.45pm (lecture)
Thursdays, 2.15-3.45pm (lecture + exercise)
Rogowski 115 - AICES seminar room (Schinkelstrasse 2) -
Office hours: Tuesdays, 11am-1pm
AICES R432 (Rogowski Building - Schinkelstrasse 2) - 17.10.2013 - Thursday -> Introduction
- 21.10.2013 - Monday -> Programs & Programming Languages [Lecture 1]
- 24.10.2013 - Thursday -> Floating Point Arithmetic [Lecture 2]
- 28.10.2013 - Monday -> Charlemagne Lecture, 2pm, Generali room, Super C
- 31.10.2013 - Thursday -> Matlab, part 1 [Lecture 3] [Diary]
- 04.11.2013 - Monday -> Matlab, part 2 [Diary]
- 07.11.2013 - Thursday -> Matlab, part 3; more FPA [Diary] [Files] [FPA]
- 11.11.2013 - Monday -> Matlab, part 4; FFT; Cholesky. [Diary] [Files]
- 12.11.2013 - Tuesday, 1pm -> deadline HW1
- 14.11.2013 - Thursday -> HW1 review. Winner: Henrik Barthels; Mathematica, part 1 [Notebook];
- 18.11.2013 - Monday -> Mathematica, part 2 [Notebook];
- 19.11.2013 - Tuesday, 1pm -> deadline HW2
- 21.11.2013 - Thursday -> HW2 review. Winner: Jan Winkelmann
- 25.11.2013 - Monday -> Mathematica, part 3 [Notebook];
- 28.11.2013 - Thursday -> Mathematica, part 4 [Notebook];
- 02.12.2013 - Monday -> Mathematica, part 5 [Notebook];
-
05.12.2013 - Thursday Double lecture: 2.15pm & 5pm
Mathematica, part 6 [Notebook]; -
09.12.2013 -> shifted to Thursday 05.12, 4pm.
Practice questions: Floating point arithmetic - [EX1]
Practice questions: Mathematica - [EX2] - 12.12.2013 -> shifted to January.
- 14.11.2013 - Saturday, 1pm -> deadline HW3
-
16.12.2013 - Monday -> HW3 review.
Winners: Henrik Barthels and Yannick Deuster;
Mathematica, part 7 [Notebook]; - 19.12.2013 - Thursday -> Mathematica examples [Notebook];
- 09.01.2014 - Thursday -> review of exercises. [Solutions]
- 13.01.2014 - Monday -> C, introduction [files]
- 16.01.2014 - Thursday -> C [files]
- 20.01.2014 - Monday -> C [files]
- 21.01.2014 - Tuesday, 1pm -> deadline HW4
- 23.01.2014 - Thursday -> HW4 review
-
27.01.2014 - Monday -> C
[files]
[BLAS cheat sheet]
[BLAS library]. This is the reference implementation; do not expect performance!
[OpenBLAS]. This is an optimized implementation; do expect speed! - 30.01.2014 - Thursday -> Makefiles (not part of the exam) [files]
- 01.02.2014 - Saturday, 1pm -> deadline HW5
- 03.02.2014 - Monday -> final lecture, wrap up [Cholesky]
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 high-level languages, and 2) write high-performance 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 high-performance computations. The focus will be on Matlab, Mathematica and C; no prior knowledge of these languages is required. We will also cover standard computational tools and Fortran-based libraries like BLAS and LAPACK.
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
Introduction History of languagesMatlab
Floating point arithmetic
Conditioning
Mathematica
Maps, functions
Fixed & high-precision numbers; symbols
Imperative vs. functional programming
Data visualization
C
Performance
Numerical libraries
Schedule
Exam dates
February: 13,
March:
April: 3
Send me an email to schedule an appointment -> First come, first served.