Tutorial Details: Best Practices in Software Development

Every experienced developer has a preferred method and toolchain for writing code. This tutorial will help users choose the right tools and improve habits for a better experience with custom and third-party source codes. We begin with a look at build systems (e.g., Make, CMake) and version control (e.g., SVN, Git) for project management. Through examples we will demonstrate: a) generating code documentation for the web, b) unit testing, c) debugging, and d) profiling and optimization. This tutorial pulls examples from multiple languages (C/C++, FORTRAN, Java and Python) to demonstrate that best practices are language agnostic.

Prerequisites: Experience with at least one programming language and the Unix shell environment.