Software Training Services
In addition to designing, developing and deploying high quality software applications Goddard Consulting has extensive experience creating and delivering custom training courses.
Covering fundamental and advanced aspects of various software languages, our courses use a combination of examples and hands-on exercises to transfer essential knowledge to attendees.
We work closely with our clients prior to presenting a course to ensure that it covers the topics of importance to them. Hence each course is unique and customized to our client's specific requirements.
Our core courses include,
- Software Specific Courses
- MATLAB Boot Camp.
- Advanced MATLAB.
- Simulink Boot Camp.
- Advanced Simulink (with Stateflow and Simulink Coder).
- GUI Design and Advanced Visualization Techniques using MATLAB.
- VBA Boot Camp.
- C and C++ Boot Camp.
- R Boot Camp.
- Application Specific Courses
Contact us for more information about the above courses, or to discuss your specific course requirements.
MATLAB, R, VBA or C and C++ Boot Camp
In this one day course attendees are introduced to the core language features of either MATLAB, R, VBA, or C and C++. The topics covered include: working with an appropriate IDE (integrated design environment); defining data and using the available data types; loading and saving data; writing functions/methods; programmatic flow control (e.g. for-loops, if-else, switch-case, etc.); error/exception handling techniques; and visualization/reporting of results. Debugging; considerations for writing efficient code; and how to profile code to identify bottlenecks are also covered.
Simulink Boot Camp
In this two day course attendees are introduced to the core features of using Simulink for model-based design. The topics covered include: working with the Simulink user interface to build continuous-time, discrete-time and hybrid models; how to specify simulation parameters to ensure an accurate simulation; using subsystems to create model hierarchy; using matrix, frame-based, and bus signals; different approaches for visualizing the simulation results; interfacing with MATLAB; and creating and using custom blocks and libraries.
Designed as an extension to the MATLAB Boot Camp course, in this one day course attendees will cover many of the advanced features of the MATLAB programming language. Particular consideration is given to a more detailed discussion of using the cell, structure and function handle data types; the different types of functions (e.g. sub-functions, nested functions, and anonymous functions); code vectorization and optimization; advanced debugging; and object oriented programming within MATLAB.
Advanced Simulink (with Stateflow and Simulink Coder)
Designed as an extension to the Simulink Boot Camp course, in this one day course attendees will be introduced to writing S-Functions (in m-code and c-code); using Stateflow for effective event-based simulation; and to the basics of automatic c-code generation using Simulink Coder.
GUI Design and Advanced Visualization Techniques using MATLAB
In this one day course attendees work through the steps of creating a custom user interface within MATLAB. The topics covered include: a thorough discussion of Handle Graphics and its use in customizing the output of MATLAB's standard visualization functions; GUIDE - MATLAB's Graphic User Interface Design Environment; the use of user-interface controls (such as buttons, edit boxes, selection boxes, tables and trees); and techniques for including 3rd party user-interface controls such as Java's AWT and Swing components and ActiveX components.
Control System Design (with MATLAB and Simulink)
This two day course is designed for attendees who have an understanding of control system design and wish to learn how to develop, test and simulate their control laws using MATLAB and Simulink. Covering a mixture of theory and practise, the topics include: system identification and modeling, either from first principles or from measured data; parameter estimation; control law design for either SISO or MIMO systems; controller tuning; gain-scheduling; fixed-point data type implementations and generation of code suitable for implementation on real-time hardware.
The course assumes attendees have some knowledge of core MATLAB programming (such as that obtained in the MATLAB Boot Camp course), model-based design with Simulink (such as that obtained in the Simulink Boot Camp course) and a rudimentary understanding of basic control law design (such as those techniques discussed in our Control System Design tutorials).
Financial Modeling Tools (using MATLAB, R, VBA or C++)
Using a selection of examples from the domains of option pricing, econometrics and/or asset allocation, this two day course introduces both the theory behind financial modeling and the core language features of either MATLAB, R, VBA, or C++. The topics covered include: working with an appropriate IDE (integrated design environment); defining data and using the available data types; loading and saving data; writing functions/methods; programmatic flow control (e.g. for-loops, if-else, switch-case, etc.); error/exception handling techniques; and visualization/reporting of results. Debugging; considerations for writing efficient code; and how to profile code to identify bottlenecks are also covered.
The course assumes attendees have a rudimentary knowledge of financial modeling, such as the numerical methods used for option pricing (e.g. Binomial models, Monte-Carlo methods and finite-difference schemes), econometrics (e.g. statistics and regression analysis) or asset allocation (e.g. linear and quadratic optimization). Some of this background information is discussed in our Financial Engineering tutorials.