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.
Tuck, Russell, "Computer Science: Creating in a Fallen World" (2019). ACMS Conference Proceedings 2019. 21.
Applied Mathematics Commons, Computer Sciences Commons, Higher Education Commons, History of Science, Technology, and Medicine Commons, Mathematics Commons, Science and Mathematics Education Commons, Teacher Education and Professional Development Commons