Why Learn Programming and Computer Science?

Why might you want to learn computer science and how to program? There are lots of different responses to this question.

  • Programming is an act of creation. A successful program involves thinking up something and making it real. The result is a thing that works and is useful. In this sense programming is much closer to engineering or art than it is to science. Programing is used in science, but the act of programming itself is not a science.

  • Programming is useful. Some basic programming skills are useful in almost any field of science, and the necessity of knowing programming will almost surely increase over time. Almost everyone I know doing good and interesting research in math or physics has at good (or better) programming skills. Programming is also very useful for some areas of the social sciences and also quite likely for digital or computer art. Also, if you anticipate working in any sort of IT field (databases, web page design and management, system administration), knowing some basic programming will be very valuable.

  • Computer science teaches problem solving. At its core, computer science is the study of algorithms: methods of solving problems which can be automated. This study prepares students to solve all sorts of problems, not just those involving computers. The structured study of algorithms also positions students to more fully understand the limitations associated with algorithmic methods.

  • There is a tremendous value to the intellectual discipline demanded by programming. Successful programming takes patience, practice, organization, and a tremendous attention to detail. Good programmers must simultaneously have a sense of the big (or at least medium) picture about the problem they're trying to solve and also have mastered a considerable body of detailed technical information. This combination of skills will help students in many different endeavors. Also, I think the attention to detail required in programming is something that you're not likely to encounter in many other COA classes.

  • Programming is fun. The challenge of designing and implementing an algorithm is exciting. There is a great satisfaction associated with coming up with an idea and then making it work. Also, the focus demanded by programming is, for many, very healthy and almost therapeutic.

  • Programmers are fun. My experience has been that programmers and hackers are a very interesting and intellectually diverse lot.

Other's Thoughts

  1. The Liberal Arts Computer Science Consortium is a group of faculty who have written about the roles of computer science in a liberal arts curriculum. Their model curriculum is excellent.
  2. Computer science and the liberal arts from Saint John's University.
  3. Why should I study computer science? from Washington and Lee University.
  4. Wikipedia's entry on computer science.