Course details
A core MAGIC course
Semester
 Autumn 2019
 Monday, October 7th to Friday, December 13th
Hours
 Live lecture hours
 10
 Recorded lecture hours
 0
 Total advised study hours
 40
Timetable
 Thursdays
 13:05  13:55 (UK)
Description
The aim of the course is to present several numerical methods that can be used in different scientific areas and implement them using Python. The course starts from the basic idea of an algorithm and evolves discussing, for instance, numerical methods to compute derivatives and integrals of functions, to solve linear systems, and to integrate ordinary and partial differential equations. Each lecture will have an initial part of theory and a final part of Python demo.
Prerequisites
Calculus, linear algebra, ordinary and partial differential equations. Some basic concepts of probability, mechanics and fluid mechanics might be used during the examples.
Related courses
Syllabus
 how to install Python and basic commands, definition of an algorithm, evaluation of the square root
 root finding algorithms: bisection and more advanced methods
 solutions of linear systems, direct and indirect methods
 derivatives of a function using finite differences, methods of finding the function extremes
 Lagrange polynomials and splines
 integration of single variable functions with rectangles and other methods
 Monte Carlo method to compute multivariable integrals
 solutions of ODEs using Euler and RungeKutta methods
 integration of PDEs using finite difference algorithms
 fast Fourier transforms (FFTs) and their use in solving PDEs with periodic boundary conditions
 root finding algorithms: bisection and more advanced methods
 solutions of linear systems, direct and indirect methods
 derivatives of a function using finite differences, methods of finding the function extremes
 Lagrange polynomials and splines
 integration of single variable functions with rectangles and other methods
 Monte Carlo method to compute multivariable integrals
 solutions of ODEs using Euler and RungeKutta methods
 integration of PDEs using finite difference algorithms
 fast Fourier transforms (FFTs) and their use in solving PDEs with periodic boundary conditions
Lecturer

DP
Dr Davide Proment
 University
 University of East Anglia
Bibliography
Follow the link for a book to take you to the relevant Google Book Search page
You may be able to preview the book there and see links to places where you can buy the book. There is also link marked 'Find this book in a library'  this sometimes works well, but not always  you will need to enter your location, but it will be saved after you do that for the first time.
Assessment
The assessment for this course will be released on Monday 6th January 2020 at 00:00 and is due in before Sunday 19th January 2020 at 23:59.
The exam sheet will ask you to address some numerical questions (usually 3) using Python code. You will then have to produce a PDF file containing the code and its outputs. You can solve the questions by using your preferred Python platofrm/IDE (Jupyter Notebook, PyCharm or simply a Python script), but I suggest you to produce a Jupyter notebook so that it is easier to create the PDF file.
The exam mark will be a PASS/FAIL, and the threshold to PASS is 50%.
The exam will be released at the beginning o the Autumn semester assessment period, this academic year starting on Monday January 6th 2020.
(exam moderator: Dr David Aspero)
Please note that you are not registered for assessment on this course.
Files
Only current consortium members and subscribers have access to these files.
Please log in to view course materials.
Lectures
Please log in to view lecture recordings.