Operating Systems & Programming

Taught courses
Primer in Software Development Methodology

Full day - 09:30-16:15



The aims of this course are to:

  • introduce some of the techniques used in modern software engineering and how they can provide benefits on projects of any size
  • empower programmers to make more informed decisions about their software and to use web resources to help develop their skills and solve their programming problems more effectively
  • cover the software development life cycle in scientific programming and introduce modern programming languages and their supporting tools
  • cover version control using CVS/SVN, unit testing and database

This course is NOT a basic programming course, but a skills course for existing programmers. Examples will be presented in Python - don't worry if you haven't programmed in Python before, but it is preferable that you have experience in a similar (imperative) language such as Perl, Java, C/C++, Fortran or Visual Basic. If all your programming experience is in a package such as Matlab, Mathematica or R you may still benefit from the course, but it will be more hard work!

Apply now

Introduction to MATLAB

6x2hours



On successful completion of this course participants will be able to:

  • Understand best practice concepts for computer programming
  • Develop a basic understanding of MATLAB fundamentals.
  • Transition from mathematical models to computer code.
  • Gain an appreciation of computer-based mathematics and analysis.
  • Gain an improved understanding of programming mathematical models.
  • Gain hands-on experience in problem solving using MATLAB .

No previous knowledge of MATLAB is required. A working familiarity with basic linear algebra is expected. Knowledge of general programming would be an advantage.

Apply now

Introduction to Gnu/Linux using Debian distribution

half day



On successful completion of this course participants will be able to:

  • Run a GNU/Linux operating system using the Debian "Live" CD.
  • Understand and explore the GNU/Linux file system including directories, paths and file permissions.
  • Use the bash shell (command line) for basic file management tasks.
  • Use Gimp for basic graphics work.
  • Use Open Office programs to create and read documents and spreadsheets (including for MS Office).
  • Follow up an appendix of links and references relating to the Open source movement.

Familiarity with basic computing required

Apply now

Introduction to PERL programming

3x3 hours



  • The course is designed to be an introduction to simple programming in Perl for non-programmers.
  • It is not a complete Perl programming course.
  • It is intended as a course which will enable you to write simple programmes to manipulate and analyse data.

Apply now