/InitiationToPython

I am learning Python

Primary LanguagePython

Python Introduction Course

This project contains materials and resources related to the Python Introductory course at ALBA:

Goal of the course

At the end of this course you should be able to:

  • create your own simple python programs from scratch
  • write structured programs (using functions, etc)
  • know basic libraries for science use (numpy, scipy, matplotlib,...) and for writing and reading from files
  • interact (reading and writing attributes) with a Tango system with python
  • be able to generate your own GUIs using TaurusGUI and existing Taurus widgets (note that this is diffenrent from being able to create your own widgets)

What this course will not teach you:

  • object-oriented programming (see the python-intermediate course)
  • how to create GUIs from scratch, or how to modify existing GUI widgets programmatically
  • how to write sardana macros (although it will give you a lot of tools that will help you learn that easily)

Course contents:

Participant requirements

The course does not require any previous experience with python. Familiarity with other programming languages will help you a lot, but it is also not required.

But the course requires commitment. In its presential form, it consists on 5 sessions of half a day (~4h). In its remote form it is done in 11 sessions of ~2h. Also, participants are expected to dedicate at least 2h after each session (1 to 2h in the case of the remote course) working on the proposed exercises (the exact time depends a lot on the previous programming experience of the participant). Attending to sessions and doing the exercises is a strong requisite to be able to follow the next session, so realistically do not expect to have much time for other stuff during course days.

Pre-course checklist

IMPORTANT: Make sure to follow this checklist before starting the course:

  • install the needed software (python, scipy, pyqtgraph, an IDE...). It is highly recommended that you follow these instructions). (Expected required time: 20'-60' , Priority: very high)

  • Familiarize yourself with the most basic concepts of python:

    • Read this intro (Expected required time: 30'-60' , Priority: very high)

    • Follow this tutorial (Expected required time: 60'-180' , Priority: high)

    • And also follow the first part (till the first block of exercises) of this other tutorial (Expected required time: 10'-20' , Priority: high)