Instructor: Srdjan Sarikas
Teaching Assistant: Harald Ringbauer
This course provides an elementary introduction to programming using Python, as one of the most popular programming languages (both in and outside of academia), with a specific emphasis on its usage in science. The main topics include the general elements of programming (variables, expressions, control structures, I/O) and a couple of the scientific toolboxes, such as numpy and matplotlib. Exercises will be posed in the scientific context, such as data analysis, data visualisation, solving (differential) equations, or stochastic simulations.
If time permits, we will cover basic concepts in more advanced topics, chosen by a consensus. The topics include, but are not limited to, object-oriented programming, sequence analysis (using BioPython), boosting python performance...
The in-session and home exercises will require all participants to have a computer with a working software. We will use python 2.7 (not 3.5) version of python. Perhaps the easiest solution is installing a distribution Anaconda, published by Continuum Analytics. You can download the appropriate version from their website. If you are not sure which installer you need, you are welcome to contact us.
A brief preparatory meeting will be held in the later afternoon of Wednesday, Jan 25th, for participants who would like support with the installation of the software or have any preliminary/general questions regarding the programming courses (attendance optional).
The course is targeted towards students with little or no prior programming experiences, so there are no prerequisites for taking this course.
If you do have previous programming experience in any language, you may not be eligible for (both) ECTS credit(s). For example, if you are comfortable with nested loops, or recursive functions, you are likely too advanced for the course. In case of doubt, discuss your situation with the instructor. In any case, however, you are welcome to attend as an auditor to learn the syntax and some peculiarities of Python.
Upon successful completion of the course students will be granted 2 ETCS credits.
Final grade (fail/pass) will based on completion of homework exercises.
|Tue Jan 24||16:00-17:00||Installation of Anaconda Python2.7||Mondi 2||Preliminary session (slides)|
|Mon Jan 30||9:00-12:00||Expressions and variables||Mondi 2||slides|
|Wed Feb 1||9:00-12:00||Basic control flows, Functions, Modules||Mondi 2||slides, slides as html|
|Fri Feb 3||9:00-12:00||Exercises||Mondi 2||slides|
|Mon Feb 6||9:00-12:00||Basic I/O, List comprehension||Mondi 2||slides|
|Wed Feb 8||9:00-12:00||Data Visualization||Mondi 2||slides|
|Fri Feb 10||9:00-12:00||Custom Modules, Data Visualization 2||Mondi 2||slides|
|Mon Feb 13||9:00-12:00||Optimization, Data Visualization 3||Mondi 2||Optimization slides Exercises|
|Wed Feb 15||9:00-12:00||OS module, Data Visualization 4||Mondi 2||slides|
|Fri Feb 17||9:00-12:00||Exercises||Mondi 2||infer the threshold(s) in 1th.dat and 2th.dat datasets|
Upload homework as a Jupyter file named like the following example:
Name: John Doe