# Programmieren Lernen mit Python

In recent years Python has become an important language for scientific programming. It allows solving small problems as well as developing complex projects significantly faster compared to using C++.

This programming course will consist of lectures and programming excercises teaching you how to solve physics problems and how to visualize your results..

Previous programming experience is helpful but not required. Advanced concepts such as classes, iterators, etc. are not part of this course.

Most technical terms are in English, so I will teach in English.

## Curriculum

• python as a pocket calculator
• variables, assignment, dynamic typing
• syntax -- indentation matters
• control flow and loops
• modules and name spaces
• the numpy array
• indexing
• slicing
• functions
• plotting data in 2D and 3D
• useful modules
If you know each of the above terms, then this course is too easy for you.

## Goal

In the course of the week, you will
• learn to simulate the scattering and tunneling of a wave packet at a potential barrier, and plot the result, as in the picture.
• solve a Dirichlet problem
• apply a simple machine learning algorithm to a computer vision problem

## Registration

To register, please send email to Sven Peter (see below). We will fill 25 places on a first come, first serve basis, with 20 places reserved for physics students.
In the course, we do not want to waste the first day fiddling with your python installation to get it going. So if you want to participate, please
• install python 3.6 from the anaconda distribution on your notebook
• run the "spyder" integrated development environment that ships with the distribution
• in the python shell (bottom right corner) enter the following commands
import sys
import psutil
print("RAM (GB): {}".format(float(psutil.virtual_memory().total) / 1024**3))
print("Python version: {}\n".format(sys.version))

and send the output to Sven Peter, along with the information which degree you are studying for, in what semester, and your immatriculation number.

# Venue, Time, Material

Venue: Im Neuenheimer Feld, details will be announced to all participants.
Time: Monday October 9th, 2017 - Friday October 13th, 2017; 09:30-17:30 each day