This course offers an introduction to programming using the programming language Python. After a short overview of the program development cycle the course presents the basics of Python programming. It covers fundamental programming components and constructs as well as simple algorithms in a hands-on manner. After learning the concepts of data types, variables, operators and basic data structures, programming constructs like branching, iterations, and data structures like strings, lists, tuples, and dictionaries are presented. The course also gives an introduction into objects and methods, functions, recursive functions, simple file handling as well as simple graphics. Finally, it includes programming assignments, which can be solved during lab sessions under the supervision and with the help of teaching assistants.