Advanced Linux Programming is an e-book that covers the common programming environments on the GNU/Linux system (shell, awk, etc.). The book is designed to help: develop GNU/Linux software that works the way users expect it to; write more sophisticated programs with features such as multi-processing, multi-threading, interprocess communication, and interaction with hardware devices; improve programs by making them run faster, more reliably, and more securely; understand the preculiarities of a GNU/Linux system, including its limitations, special capabilities, and conventions.
The aim of this introduction to the UNIX programming environment is to: introduce the UNIX system basics and user interface, develop the UNIX philosophy of using and combining tools, learn how to make new tools and write software, and learn how to understand existing software.
The goal of this Fortran 90 tutorial is to give a quick introduction to the key differences between Fortran 77 and Fortran 90. It is not a complete reference! Many details have been omitted. This tutorial is based on the book "FORTRAN 77 for Engineers and Scientists with an Introduction to Fortran 90" by L. Nyhoff and S. Leestma published by Prentice Hall.
PyQuante is an open-source suite of programs for developing quantum chemistry methods. The program is written in the Python programming language, but has many "rate-determining" modules also written in C for speed.
Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.
Since 1997, Software Carpentry has taught scientists and engineers the concepts, skills, and tools they need to use and build software more productively. All of the content is freely available under a Creative Commons license, and we are constantly adding and updating lectures, videos, and exercises.