Courses

Software Containers for HPC

An Introduction to using and building software containers.

Programming in C++

This short course is an introduction to programming in C++. Experience programming in some other language is helpful but not required.

Introduction to Fiji/ImageJ

An introduction to using and scripting the Fiji/ImageJ image analysis packages.

Introduction to Parallel Programming

Introduction to Parallel Programming

Introduction to Shiny

An introduction to creating Web apps with R and Shiny.

Programming in MATLAB

An introduction to programming in MATLAB

Programming in Modern Fortran

This short course is an introduction to programming in modern Fortran. Experience programming in some other language is helpful but not required.

The Julia Programming Language

Julia is a high-level programming language designed for high-performance numerical analysis and computational science. Distinctive aspects of Julia’s design include a type system with parametric polymorphism and types in a fully dynamic programming language and multiple dispatch as its core programming paradigm.

Scientific Image Processing with Python OpenCV

An introduction to scientific image processing with the Python OpenCV package. Topics include splitting and merging of color channels, morphological filters, image thresholding and segmentation.

High Performance Programming in Python

Python, like most interpreted languages, can be very slow. But there are best practices and some programming tricks that can speed it up considerably. This can make the difference between finishing the work in an acceptable time, or being unable to finish a project.