Software Carpentry

Wisdom_love posted @ 2008年5月09日 21:32 in Bioinformatics , 1424 阅读

简评:这个课程对我们这些外行编程的人来说,非常好,我极力推荐大家阅读。

下文摘自:http://rl.rockiestech.com/node/167

Greg Wilson 的“Software Carpentry”课程是针对科研和工程人员设计的,鼓励规范、优良、高效编程的一个课程(http://www.swc.scipy.org
/index.html)。按照作者的说法,是追求用10%的技巧解决90%的问题。这个课程对专业程序员也可能有不错的参考作用(after the best practice in industry:-)。Wilson的课程在上述的主页上以Python License发布,同时配有mp3课堂录音。
这个课程是很值得推广的。作者提供的资料比较大纲化;最好的学习办法可能是配合录音阅读课程资料。然而一个中文的导读应该对读者很有帮助。所以我们建立了这个开放图书页面,大家可以以wiki的方式一起来讨论和制作一个导读。
此课程以Python语言讲授;然而基本内容侧重软件工程,和编程语言关系不大。
下面是作者的话和目录(http://osl.iu.edu/~lums/swc/):

Many scientists and engineers spend much of their lives writing,
debugging, and maintaining software, but only a handful have ever been
taught how to do this effectively: after a couple of introductory
courses, they are left to rediscover (or reinvent) the rest of
programming on their own. The result? Most spend far too much time
wrestling with software when they’d rather be doing research, but still
have no idea how reliable or efficient that software is.
The Solution
This site presents an intensive course on basic software development
practices for scientists and engineers. Its aim is not to turn
biochemists and mechanical engineers into computer scientists; instead,
it introduces them to the 10% of modern software engineering that will
satisfy 90% of their needs. The course has been taught at laboratories
and universities in Canada and the United States since 1998. It is now
being upgraded, and will be made freely available under an open license
in the fall of 2005.

# 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
# Binary Data
# Relational Databases
# Client-Side Web Programming
# CGI
# Security
# Teamware
# Extreme Programming
# The ICONIX Process
# The Nevex Process
# Backward, Forward, and Sideways
# Bibliography
# Glossary
# Online Resources
# List of Figures
# List of Tables
# Syllabus


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter