Document Type

Conference Proceeding

Publication Date



When God created people in his image, he gave us the gift of sub-creation. One of the great joys of Computer Science is exercising that gift to create tools : software and computer systems that serve people and solve problems. Like all God’s gifts, he charges us to exercise the gift of sub-creation wisely and for good. While there are many obvious implications and challenges, being good stewardship of users’ time and reducing discrimination are particularly relevant and perhaps less obvious examples. Although computer scientists exercise the gift of sub-creation, we do so as fallen people in a fallen world. This affects not only what we build but, more fundamentally, how we build it. First, we are inherently imperfect and mistake-prone, which means our software inevitably contains bugs (mistakes). So we have to test software to find the bugs, then figure out how to fix them. More fundamentally, but less obviously, our knowledge and understanding are imperfect, so we don’t even know exactly what to build. The modern practice of “agile” software development can be understood as addressing this problem. Its focus on incremental development and immediate testing seeks to explore and better understand the requirements and to refine the design. It also helps find mistakes quickly in order to fix them more easily. This is a productive response to human imperfection in both knowledge and action.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.