## Short Description

- URL
`http://ctr.maths.lu.se/na/courses/NUMA01`

- Credits:
- 7,5 points
- Instructor:
- C
- Computer lab instructors:
- Kenneth Batsone, Julio Careaga, Siobhan Correnty, Maren Demuth, Peter Meisriemel, Lea Versbach
- Grading:
- U, G
- Examination:
- Two hand-in assignments and graded final programming project with project presentation. Note: Students taking this course within the teacher's program (ÄMAD01) have one hand-in assignment and the graded final project with project presentation.
- Prerequisites:
- Elementary courses in mathematics

## Contents/Aim

The course gives an introduction to programming in Python and has a strong orientation
towards *computational mathematics*.
Python is a modern scripting language with ties to Scientific Computing due to
powerful scientific libraries like SciPy, NumPy and Matplotlib.
The course covers elementary programming concepts
(arithmetic expressions, for-loops, logical expressions, if-statements, functions and classes)
that are closely connected to mathematical/technical problems and examples,
as well as mathematical manipulations and problm solving
(e.g.~setting up matrices, solving linear problems, solving differential equations, finding roots).
Students enrolled in the Bachelor´s Programme in Mathematics, Physics,
Theoretical Physics and Astronomy are taking this course together with the courses
MATA21 Analysis in One Variable and MATA22 Linear Algebra 1 during their first semester in Mathematics.
A final lecture will cover syntactical differences between Python/SciPy and
MATLAB, to fascilitate the transition to MATLAB, if needed.

## Course book

The main book of this course is the book
* Führer, Solem, Verdier: Scientific Computing with Python 3, Packtpub 2016 (paperback, epub, Kindle)*

You will also find additional material on our Python home page.

## Goal

The goal of the course is to give students in an early stage of their education in mathematics and science competence to use state-of-the-art tools for scientific computations. The course is not a replacement for other courses in computer science.