Computer Science

Andrew J. Crump, Assistant Professor

Brett W. Huffman, Assistant Professor

Clinton A. Staley, Professor

The science of computing is a rapidly growing field of study. Computers are used in almost every facet of life, and a grasp of their fundamentals can lead to challenging and rewarding activity in many fields. Principia’s computer science courses stress the principles that underlie computing as well as practical experience in creating software and problem solving.

Students develop programming skills from beginning to advanced levels and also learn about the fundamental design and architectural considerations of computer systems. In the process, students have plenty of opportunities to demonstrate the discipline and persistence needed to bring a program to completion—all the while gaining confidence in their ability to think systematically and to recognize everyone's natural ability to do so. 

Because a thorough understanding of content from CSCI 171 Introduction to Programming and CSCI 182 Intro to Data Structures is essential to later CSCI courses, a student must earn at least a C in both of these courses in order to proceed with a CSCI major or minor. To complete a major or minor offered by the Computer Science Department, a student must earn a cumulative average of 2.000 or higher for the courses (required and elective, within the department or outside it, such as math and engineering) taken for that program.

For all majors and minors, if CSCI 181 Accelerated Intro Programming is substituted for CSCI 171 Introduction to Programming, the total semester hours required will be two fewer.

In addition to both a B.S. and a B.A. in computer science, the Computer Science Department offers two minors, one in computer science and a second in management information systems. The minor in management information systems is designed to prepare students to work with business programming, emphasizing a professional approach. Students in this minor will study methodologies for complex software system development, database management, database design, and professional ethics. Further, an individualized major or minor is available in Computer Engineering.

A student may earn only one major or minor in computer science.