Cookies

We use cookies to ensure that we give you the best experience on our website. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.

Durham University

Department of Mathematical Sciences

MATH1587 Programming I

For details of prerequisites, corequisites, excluded combinations, teaching methods, and assessment details, please see the Faculty Handbook.

Some benefits of having programming skills are obvious: it is useful in mathematical/scientific computing, and it may boost your employment chances after graduation. However, the process of writing a computer program also develops general mathematical skills: logical reasoning, attention to details and the habit of checking one’s work. The computer is an ideal tool for this, as it rejects nonsensical constructs and syntax errors, and it provides instantaneous feedback on your work.

In this half-module, you will learn the fundamentals of programming using Python, which is a general-purpose, high-level language that is widely used in real applications. Once mastered, however, it is straightforward to use the basic concepts in other programming languages.

Perhaps more than other mathematics modules, programming is learnt mostly by doing (trying things out on a computer and learning from your mistakes) and very little by reading books. Much of the what is covered in the lectures is also covered in the Guttag book (see reading list), albeit at a higher level.

The authoritative manual of the Python language is freely available online, and (unlike many online resources) it contains a readable tutorial section.

Outline of course

Aim: basic principles and basic competence in computer programming.

  • Basic types (numerics), operators, variables and assignment
  • Control structures: conditionals, loops and functions
  • Floating-point arithmetic, plotting and introduction to complexity
  • Lists, strings and introduction to objects

Lecturers

Dr Djoko Wirosoetisno

Dr Peter Bowcock

Prerequisites

For details of prerequisites, corequisites, excluded combinations, teaching methods, and assessment details, please see the Faculty Handbook.

Reading List

Please see the Library Catalogue for the MATH1587 reading list.

Examination Information

For information about use of calculators and dictionaries in exams please see the Examination Information page in the Degree Programme Handbook.