Hands-On Introduction to Python Programming


An interest or need to program in Python


  • Learning to write useful programs in Python
  • Appreciating the benefits offered by Python's dynamic, introspective and interactive features.
  • Appreciating he benefits of incremental, interactive development.
  • Learning to program to Python's strengths.

Throughout the course, an emphsis is given to introspection, dynamism, incremental development, and the important role of Duck Typing in Python.


The course starts off by covering the essentials needed to start programming in Python: how to run Python programs, and Python's built-in types. Most of the material is introduced and developed in a hands-on fashion. The students are encouraged to investigate Python's behaviour for themselves, and are taught to use Python's interactive and itrospective features to maximize their ability to learn about Python from Python itself. Many of the exercises are designed to highlight the power of Python's dynamic features, and contrast them with practices seen in static languages. Background information is given about the evolution of Python in the past, and the likely direction of its development in the future. The course covers all basic features of the language necessary to write useful Python programs, such as built-in types, functions, classes, exceptions and modules. Some more advanced features like higher-order programming, automated testing, memoization and generators, are explored.


4 days