Professor Simonelli; Associate Professor Hamblen (Department Chair); Assistant Professors Lin, Steinhurst, and Zhang; Senior Lecturer Gribben; Director of the Mathematics Placement Program Carolyn Boner; Adjunct Professor Leach.
Computer science is the study of problem solving using algorithms. It encompasses a variety of topics, some of which overlap with disciplines of mathematics, logic, linguistics, philosophy, and engineering. True to the liberal arts tradition of the college, the computer science program emphasizes fundamental aspects of the discipline that develop critical thinking. It provides a solid foundation for graduate studies or a career in software development.
The major in computer science is designed to present students with the concept of an algorithm on four different levels. The Discrete Mathematics course provides a mathematical foundation for the study of this concept. The notion of algorithm first appears in The Art of Programming course, where algorithms are expressed in a language understandable by computers. The Computer Organization course addresses the way programs are internally processed by the machines. The Data Structures and Algorithms courses advance from programs in a specific programming language to a more general paradigm of a language-independent algorithm on abstract data structures. The Theory of Computation course concludes the required sequence with a general discussion of what an abstract computing device is and what classes of problems can and can not be solved algorithmically. The electives are designed to provide exposure to some of the areas of computer science not presented in the required sequence and to introduce students to the research interests of the individual faculty members.
The major requirements include a strong mathematical component. In addition, quantitative reasoning and mathematical rigor are stressed throughout the Computer Science curriculum. The department also offers a dual major in Computer Science and Mathematics. See the Dual Major section of the Catalog.
The minor in Computer Science is designed for students who want to supplement their major area of specialization with a strong set of computer skills that might be useful in their major. The minor is less mathematically demanding than the major.
The Art of Programming and Discrete Mathematics courses together serve as a gateway to the program. Students interested in pursuing either a major or a minor should plan to take these courses as soon as they can, preferably during the first year.
If students are interested in graduating with honors in Computer Science, please contact Spencer Hamblen.