Description
This workshop focuses on developing large software projects.
As software code bases grow larger and are distributed into many files,
it becomes more difficult, if not impossible, to keep track of each
change. These software projects may involve a single individual or a
group of researchers and can become quite complex. Software is
available to
assist researchers in the development and maintenance of their projects.
The primary topic areas of this course include batch scripts, as well as, compiling, debugging, and version control of source code on Linux and Unix systems. Examples of code in a number of programming languages will be available in hands-on labs; however, this course is not intended to teach any particular language. Rather, the focus is on tools to manage and simplify the development and maintenance of large, complex software projects. Material covered in this workshop will also be valuable to researchers wanting to configure and install open source software packages.
The workshop will be taught by several OSC staff members over three days. The different sections are taught as independent modules and individuals may choose to attend the individual sections:
- Day One am: Unix (Linux)
- Day One pm: Batch Processing
- Day Two am: Compilers
- Day Two pm: Automated building and management through Makefiles
- Day Three am: Performance Tuning and Parallel Processing
- Day Three pm: Version control with Subversion
Prerequisites
Some experience with Unix
Target Audience
Researchers, professors, graduate and undergraduate
students
Method of Delivery
Lecture and hands-on laboratory
Handouts (for November 3-5, 2009 Workshop)
Unix (Linux) (PDF) November, 2009
Batch Processing (PDF),
November, 2009
Compilers (PDF), November, 2009
Automated Building and Management through Makefiles (PDF),
November, 2009
Performance Tuning and Parallel Processing (PDF), November, 2009
Version Control with Subversion (PDF),
November, 2009
|