NAIF offers a set of "hands-on" programming lessons
to assist newer users in learning fundamentals of programming with SPICE APIs (subroutines). Eight lessons comprise this collection. All eight lessons can be done using NAIF's WebGeocalc tool in addition to doing them using the NAIF-supported languages.
As a general rule, all students should go through the "Navigating SPICE Components" and "Building SPICE Applications" lessons, then try either the "Remote Sensing" or the "In-situ Sensing" lesson. The Binary PCK and Geometric Event Finding lessons are more narrowly focused: read the Overview section in each of these lessons to decide if the lesson could be of interest to you. Similarly, skim through the beginning of the Other Stuff lesson to decide if it contains items of interest. Finally, most SPICE users will find a few of the Toolkit Applications lessons useful as well as trying some of the hands-on lessons computations using WebGeocalc, for which you need not write any code.
- Navigating Through the SPICE Components
- Basics, Building SPICE Applications
- Remote Sensing, using CASSINI
- Geometric Event Finding, using MEX
- In-situ Sensing, using CASSINI
- Binary PCK
- Other Stuff
- Practice Using Toolkit Applications
- Doing SPICE Hands-On Lessons Using the WebGeocalc capability.
The lessons come packaged for Unix (Linux, Mac OSX, Solaris) and for Windows platforms.
The lessons are provided in the four languages currently
supported by NAIF -- ANSI Fortran 77, ANSI C, Interactive Data Language (IDL) and MATLAB -- and in Python, using the third-party SpiceyPy toolkit.
Most of the lessons are broken down into multiple steps, called tasks. The lesson text provides task statements,
references, tips, and names of the SPICE kernels needed. NAIF's solution to each task is provided
at the end of the task text, so you may think of these lessons as "open book" exercises.
The SPICE kernels needed for each lesson come packaged with the lesson. Where appropriate,
graphics depicting the lesson's objectives are also provided.
For lesson installation instructions please refer to the aareadme.txt file in the lessons distribution directory.