We offer several modules designed to develop or improve your competence in mathematical computing. These include modules on:
Scientific Programming and Software Carpentry
Computer architecture; "Hello World": compiling and running your first program; typed variables, numerical calculations and comparison operators; loops; arrays; Reading from the command line and type conversions; functions and subroutines; file I/O; multidimensional arrays and graphics; web design; Data structures; binary file I/O; & Programming Project: cellular automata, microarray image analysis, or automatic crystal detection.
Introduction to MATLAB and data analysis; basic calculus in MATLAB; linear algebra; GUIs and writing good programs; project based on an imaging problem; profiling your code; speeding up your code; and group projects.
Object-Oriented Programming in C++
C++ programming fundamentals (variables and expressions; input and output; flow of control; pointers and references; arrays; and functions). Object orientation in C++ (concept of a class; private, public and protected members; constructors; operator and function overloading; templates; and exceptions). Extra topics on software engineering, debugging and MATLAB Mex functions.