Version Control | Learn how to collaborate with other people and automatically create a record of previous work using a version control system. |
The Shell | Much of scientific computing involves the Unix operating system. Effectively using the shell is one of the first steps to efficient Unix programming. |
Python | A popular, versatile, open source language that is increasingly popular among scientific programmers. |
Testing | The basics of software testing, including exception handling and unit testing. |
Sets and Dictionaries | Using associative data structures to better represent data that isn’t a list or vector. |
Regular Expressions | Manipulate text quickly with this powerful set of pattern matching tools. |
Databases | An introduction to SQL, the most popular database query language. |
Data Management | Short discussions of all things data-related. |
Make | This tool will help automate everything from large software builds to batch processes. |
Matrix Programming | Use array libraries to make numerical programs smaller and faster. |
Multimedia Programming | Work with images, sound, and other media. |
Spreadsheets | Learn to use spreadsheets for data organization, analysis, and visualization. |
Program Design | An example driven introduction to effective program design. |