This web site is created to help scientists and engineers learn the concepts, skills, and tools needed to use and build software more productively. Topics range from shell and scripting languages to web programming and software engineering. Instructional materials include video lectures and slides to practice exercises.