The Python Programming Language

Introduction

Python is an extremely popular high level interpretted programming language, with a large global community of users, particularly in the fields of Data Science and Machine Learning.

As a teaching language, Python has an extremely low barrier to entry, while supporting multiple popular design paradigms including structured programing, object-oriented programming and many aspects of functional programming. As a dynamicall typed, garbage collected language it allows new users to concentrate on algorithms, productivity and core skills without needing to write large ammounts of standard core or be burdened with concepts such as manual memory management.

The Software Carpentry Python course

While the ACSE course provides introductory lectures in programming, you may find it beneficial to work through the following Software Carpentry lectures on the Python programming language:

Assessed Notebooks

As a learning exercise, the ACSE course has produced the following four Jupyter notebooks. Completing these will form the first assessed exercise of the term. Your submission will be via GitHub, using a link to a repository which will be provided to you during the first week of term (the week commencing 5th October).

  • Notebook 1

  • Notebook 2

  • Notebook 3

  • Notebook 4

Additional Materials

Undergraduate level teaching materials regarding Python produced by the Earth Science and Engineering department at Imperial College London are available here

Other Learning Resources