Hands-On Introduction to Python Programming

Prerequisites

An interest or need to program in Python

Objectives

  • 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.

Contents

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.

Duration

4 days