Software Carpentry
Syllabus

Software Carpentry

Introduction

Version Control

Shell Basics

More Shell

Basic Scripting

Strings, Lists, and Files

Functions, Libraries, and the File System

Testing Basics

Dictionaries and Error Handling

Debugging

Object-Oriented Programming

Structured Unit Testing

Automated Builds

Coding Style and Reading Code

Watching Programs Run

Regular Expressions

Basic XML and XHTML

A Mini-Project

Client-Side Web Programming

CGI

Binary Data

Relational Databases

Security

Teamware

Extreme Programming

The ICONIX Process

The Nevex Process

Backward, Forward, and Sideways