Skip to main content

CY900 Foundations in Scientific Computing

Current Lecturers:

Andrij Vasylenko,

Matteo Icardi

Teaching Assistants:


Current Course Homepage:

Academic Year 2016-17


This module aims to ensure that all students embarking on this MSc degree in Scientific Computing will have a common set of basic computational and mathematic skills that will enable full participation in the taught modules that follow this Foundations module. This module will be assessed as P/F. Students must pass this Foundations module to proceed with the rest of the course.

Learning Outcomes:

By the end of the module the student should be able to

  • competently manipulate files, directories and utilities under the linux operating system
  • demonstrate a familiarity with the emacs editor
  • write simple code in a scientific programming language
  • demonstrate a familiarity with compiling code
  • create and manipulate simple makefiles
  • demonstrate a familiarity with basic linear algebra
  • demonstrate a familiarity with the solving of basic differential equations
  • use MATLAB software for simply symbolic algebra applications
  • demonstrate a familiarity with basic statistics Use R (or S) for standard applications in statistics


  1. Refresher Mathematics: basic linear algebra, basic ordinary differential equations, basic partial differential equations, use of MATLAB software
  2. Refresher Statistics: concepts of probability, probability models, estimation and hypothesis testsing, use of R (or S) software
  3. Introduction to Linux: basic concepts, operations on files and directories, linux utilities, shell scripting, the emacs editor, utility packages (e.g. for plotting)
  4. Refresher Programming: introduction to writing simple code in either Fortran90 or C
  5. Compiling: introduction to compiling, the gnu Portland and Intel compilers, introduction to Makefiles