Postgraduate Course: Scientific Computing (MATH11198)
Course Outline
School  School of Mathematics 
College  College of Science and Engineering 
Credit level (Normal year taken)  SCQF Level 11 (Postgraduate) 
Availability  Available to all students 
SCQF Credits  10 
ECTS Credits  5 
Summary  Computational skills are in high demand in both academia and industry, particularly in the context of applying these skills to advanced mathematical problems. This course seeks to introduce and then develop general scientific computing skills in the context of familiar applications. No prior knowledge of particular programming languages or previous experience of scientific computing is assumed.
* This course is available to Mathematics MSc students only. * 
Course description 
The course introduces scientific computing assuming no prior knowledge, and will be taught using a suitable computer language. First, fundamental commands and data structures for scientific computing will be discussed in the context of familiar mathematical problems. This is followed by a thorough
introduction to basic programming structures such as loops and conditional execution, along with a discussion of efficiency and loop vectorisation. Scripts and functions are then introduced to facilitate the computation of solutions using elementary algorithms and structured programs. Various approaches to the display and analysis of data will also then be introduced and discussed. Throughout the course there will be an emphasis on developing abilities to plan the development of programs required for scientific computation in order that this can be done efficiently and accurately.
More advanced material in the second half of the course will be taken from, for example, numerical solutions to partial/ordinary differential equations, optimization or advanced data analysis. The course will focus on applying the techniques learned to problems within one of these suitable application areas.
The course includes a significant amount of lab work, which will be assessed via a class test. Later, more advanced material is assessed by a written report, for this purpose the course will also provide a short introduction to a mathematical typesetting environment.
In a suitable programming language:
Fundamentals: commands; data types and data structures for scientific computing; loops and conditional execution.
Scripts and functions: creation and execution of scripts; syntax of functions; locality of identifiers and modular development.
Display and analysis of data and the results of computations: plotting; display of results in tables; timing of calculations.
Planning for scientific computing: incremental development; debugging; choice of test examples; design of experiments; handling randomness in results; code efficiency and vectorisation.
Further applications: obtained from, for example, numerical solutions to partial/ordinary differential equations, optimization, advanced data analysis.

Entry Requirements (not applicable to Visiting Students)
Prerequisites 

Corequisites  
Prohibited Combinations  
Other requirements  * This course is available to Mathematics MSc students only. * 
Information for Visiting Students
Prerequisites  None 
High Demand Course? 
Yes 
Course Delivery Information
Not being delivered 
Learning Outcomes
On completion of this course, the student will be able to:
 Compute solutions to familiar mathematical problems using a suitable programming language.
 Solve mathematical problems by using elementary algorithms, and compute solutions using a structured computer program.
 Display and analyse data appropriately, including the results of numerical calculations.
 Plan and develop efficient numerical programs.
 Write up a short report describing an application of computing to solve a suitable mathematical problem.

Additional Information
Graduate Attributes and Skills 
Not entered 
Keywords  SComp,Scientific Computing,Programming 
Contacts
Course organiser  Dr Joerg Kalcsics
Tel: (0131 6)50 5953
Email: 
Course secretary  Miss Gemma Aitchison
Tel: (0131 6)50 9268
Email: 

