Course materials for 2011. Announcement for 2014 here.
- Why scientists and engineers must learn to program
- How to learn programming without formal classes, i.e. how to become a hacker
- How to ask questions the smart way.
- Stack Overflow, for computer science/programming related questions
- Why use Github?
- Introduction to Github
- Why you must write good documentation
- Sphinx, a tool for creating online documentation easily
- Don't develop something complex in one go. Try to develop a simplified version, test it throughly, and then integrate it to the code you are developing.
- Building an installer for your software
- High-Performance Computing, most universities have supercomputers to run code faster, check with your department
- Parallel Computing, run several jobs at the same time
- Check for bottlenecks. What part of the code takes longest to execute? Try minimize the number of times that part is called/ do caching, etc.
- Python
- Enthough Canopy, easy to install package for python
- Obspy, library for manipulating and processing seismology data
- AIMBAT, picking teleseismic arrival times
- Seismic Analysis Code (SAC)
- Standing Order for Data (SOD)