Beräkningsprogrammering med Python

**Valid from:** Autumn 2018**Decided by:** Professor Thomas Johansson**Date of establishment:** 2018-11-15

**Division:** Mathematics**Course type:** Course given jointly for second and third cycle**The course is also given at second-cycle level with course code:** NUMA01**Teaching language:** English

The aim of the the course is to give an introduction to computational programming in Python for postgraduate students without previous programming knowledge. Python is a modern scripting language with strong ties to Scientific Computing.

*Knowledge and Understanding*

For a passing grade the doctoral student must

- be able to explain and use basic programming concepts, data structures, conditional statements.
- be able do describe the structure of a Python program.

*Competences and Skills*

For a passing grade the doctoral student must

- be able to convert algorithms into programming code
- be able to visualise, interpret and critically assess numerical results
- be able to report solutions to problems and numerical results in speech, writing and graphic form
- be able to use appropriate terminology in a logical and well-structured manner
- be able organise, implement and orally present a major programming project in carried out in group.

*Judgement and Approach*

For a passing grade the doctoral student must be able to critically analyse the programs produced by fellow students and assess alternatives to his or her own programming solutions

Basic programming concepts, data structures, conditional statements, functions and classes. Problem-solving using a few basic numerical methods associated with mathematics and physics. The basic functions and data types of the Python programming language: arithmetic operations, arrays of vectors, matrices, graphics functions, lists, tuples, dictionaries, file management. Use of modules such as NumPy, SciPy and Matplotlib The representation of floating point numbers and their implications for arithmetic Syntax: [for], [if-else], [while], list comprehensions, generators Nested functions, self-defined functions and modules Classes and inheritance applied to mathematical objects Tests and profiling

Fuhrer, C., Solem, J. & Verdier, O.: Scientific Computing with Python 3 - Second Edition. 2016. ISBN 9781786463517.

**Types of instruction:** Lectures, exercises, project

**Examination format:** Miscellaneous.
Reports on programming exercises during the course, and a major programming project to be completed in groups.**Grading scale:** Failed, pass**Examiner:**

**Selection criteria:** Arrival time for application. At most five phd students.

**Course coordinators:** **Web page:** http://www.ctr.maths.lu.se/course/NUMA01/