skip to navigation skip to content

Theme: Scientific Computing

Show:
Show only:

14 matching courses


Using the Parallel Computing capabilities in MATLAB allows you to take advantage of additional hardware resources that may be available either locally on your desktop or on clusters and clouds. By using more hardware, you can reduce the cycle time for your workflow and solve computationally- and data-intensive problems faster.

In this seminar, we will discuss a range of workflows available to scale MATLAB applications with minimal changes to your MATLAB code and without needing to learn any shell or scheduler programming syntax.

  • Please note that although this course is being hosted at Cambridge, it is being organised and run by EPCC at the University of Edinburgh.

Since the 2011 revision to the C++ language and standard library, the ways it is now being used are quite different. Used well, these features enable the programmer to write elegant, reusable and portable code that runs efficiently on a variety of architectures.

However it is still a very large and complex tool. This set of online lectures, delivered over two Wednesday afternoons and including practical exercises, will cover a minimal set of features to allow an experienced non-C++ programmer to get to grips with language.

These include:

  • overloading
  • templates
  • containers
  • iterators
  • lambdas and standard algorithms.

It concludes with a brief discussion of modern frameworks for portable parallel performance which are commonly implemented in C++.

  • To book a place on this course please complete their online registration form which can be found here along with a full description of the course.
C++: Programming in Modern C++ Wed 4 Jan 2017   09:30 Finished

This is an introduction to programming in modern C++, based on the book "'Programming: Principles and Practice using C++"' (2nd ed.) by Bjarne Stroustrup. The aim is to teach participants how to write non trivial, practical programs that are comprehensible and portable. Participants should also be able to understand and modify most well-written C++ applications, though not necessarily every aspect of them.

C++ is a large and complicated language, which is reflected in the length of this course. The creator of C++, Prof. Stroustrup, estimates that newcomers to programming will have to devote in excess of 200 hours' of work to learn how to program in C++ properly. Please bear that in mind if signing up for the course. It would also be of help (though not essential) if attendees have some prior programming experience in another language, e.g. Python.

High Performance Computing: An Introduction Thu 20 Jun 2019   09:30 Finished

The course aims to give an introductory overview of High Performance Computing (HPC) in general, and of the facilities of the High Performance Computing Service (HPCS) in particular.

Practical examples of using the HPCS clusters will be used throughout, although it is hoped that much of the content will have applicability to systems elsewhere.

This course aims to provide a basic knowledge of GPU programming using OpenACC directives. The course is very hands-on oriented, aiming to give to you the opportunity to practice and experiment from the very beginning.

NVIDIA: GPU Acceleration Workshop new Thu 4 Apr 2019   10:00 Finished

This course is being delivered in collaboration with the UIS and NVIDIA

According to NVIDIA, accelerated computing is the future for HPC and AI. Effective accelerated computing applications can only be built on a complete solution stack comprising hardware, programming models, libraries, system software, developer tools and domain expertise. NVIDIA’s CUDA is one of the leading platforms and this workshop aims to introduce researchers using large scale computing resources to the opportunities available in GPU-accelerated computing.

  • Please note that if you are not eligible for a University of Cambridge Raven account you will need to book by completing this form.

This course is part of the Scientific Computing series.

This course is aimed at those new to programming, or who have never been formally taught the principles and basic concepts of programming. It provides an introduction to the basic concepts common to most high level languages (including Python, Java, Fortran, C, C++, Visual Basic). The aim of the course is to equip attendees with the background knowledge and confidence necessary to tackle many on-line and printed programming tutorials. It may also help attendees in deciding which programming language is suitable for their programming task.

Knowledge of the concepts presented in this course is a pre-requisite for many of the other courses in the Scientific Computing series of courses (although not for the "Python for Absolute Beginners" course).

Python 3: Advanced Topics (Self-paced) Tue 2 Jul 2019   09:30 Finished

This course is part of the Scientific Computing series and is suitable for people who have Python experience equivalent to either of the introductory courses: Introduction for Absolute Beginners or Introduction for Programmers

These sessions consist of a selection of self-paced mini-courses, each taking at most a half-day. Python expert(s) from the UCS will be present to answer questions or address difficulties with these. Attendees can select from the available topics to most closely meet their individual needs. Attendees are welcome to attend more than one session to work through multiple topics. If an attendee finishes a topic with time to spare they may select another, and so on.

Python 3: Introduction for Absolute Beginners Wed 19 Jun 2019   09:30 Finished

This course is part of the Scientific Computing series.

This course is aimed at those new to programming and provides an introduction to programming using Python, focussing on scientific programming. This course is probably unsuitable for those with programming experience, even if it is just in shell scripting or Matlab-like programs. By the end of this course, attendees should be able to write simple Python programs and to understand more complex Python programs written by others.

As this course is part of the Scientific Computing series, the examples chosen are of most relevance to scientific programming.

This course is part of the Scientific Computing series.

This full-day course introduces the Python programming language to those who are already familiar with another high level programing language such as C/C++, Fortran, Java, Perl or Visual Basic. The aim of this course is to give such programmers sufficient familiarity with Python that they can attend any of the more advanced Python courses organised by the Computing service and easily follow any of the widely available Python tutorials on the more complex aspects of the language.

This course covers all the material contained in the "Programming: Python for Absolute Beginners" course, but in a more abbreviated fashion suitable for those who already have significant programming experience. This course does NOT cover the more complex aspects of the language (for such topics see the other Computing Service Python courses), nor is there much explicit discussion of the object oriented features of Python.

If you are an accomplished and experienced programmer you may find this course too slow, you may prefer to self-teach the course rather than attend in person, the full set of notes can be downloaded.

The Business Information Team within Academic and Financial Planning and Analysis (AFPA) - formerly Planning Resource Allocation Office makes data for reporting and analysis for different parts of the University. They are currently using a Tableau Server for publishing and sharing their reports and data sources, to enable their data users to access the information, interact with the data, and create their own analysis in a safe environment.

In this presentation, the Business Information Team will show you how the Tableau Server operates and some of the work they are doing. They will present the structure of their Tableau site, the active directory groups, and the people and projects that are live and using Tableau across the University Administrative Services.

The Tableau Server core license is available to all members of the University. AFPA has implemented the administrative site, while UIS are developing a strategy to implement the Teaching and Research sites.

Unix: Building, Installing and Running Software Mon 25 Feb 2019   14:00 Finished

This course is part of the Scientific Computing series.

It is common for a student or researcher to find a piece of software or to have one thrust upon them by a supervisor which they must then build, install and use. It is a myth that any of this requires system privilege. This course demonstrates the building, installation and use of typical software ranging from trivially easy examples (the "configure, make, install" scheme) through to the evils of badly written Makefiles. Common errors and what they mean will be covered and by the end of the course the student should be able to manage their own software without needing to pester their system administrator.

The course is designed to take someone from having no knowledge of the Unix command line to being able to navigate around directories, and doing simple file manipulation. Then some of the more basic commands, will be introduced, including information on how to get more help from the system itself. Finally accessing remote computers by ssh and the most basic of shell scripts will be introduced.

Unix: Simple Shell Scripting for Scientists Mon 10 Jun 2019   14:00 Finished

This course is part of the Scientific Computing series.

No previous experience of shell scripting is required for this course; however some knowledge of the interactive use of the bash shell is a prerequisite (see Simple Shell Scripting for Scientists: Prerequisites for details).

This course introduces shell scripting in bash for scientific computing tasks. Day one introduces very basic shell scripts in bash which process the command line in a simple fashion. Day two covers how to write more advanced shell scripts in bash. Day three covers how to make one's shell scripts more robust.

At the end of each day one or more exercises are set. It is VERY IMPORTANT that attendees attempt these exercises before the next day of the course. Attendees should make sure that they have allowed themselves sufficient study time for these exercises between each day of the course.

[Back to top]