Available Technology
Gordon's academic computing facilities include a laboratory of workstations for computer science student use and several computer laboratories for general student use. Access to the department's server is available on the campus network. Programming languages available include Ada, APL, C, C++, COBOL, FORTRAN, Java, JavaScript, LISP, OPS-5, Pascal, Perl and PROLOG.
Requirements for the Major in Computer Science
Students majoring in computer science must complete the following:
| CPS111 | Introduction to Computer Science |
| CPS112 | Introduction to Programming |
| CPS211 | Object-Oriented Software Development |
| CPS212 | Computational Structures and Algorithms |
| CPS220 | Models of Computation |
| CPS311, 312 | Computer Systems I, II |
| CPS323 | Programming Languages |
|
Eight credits of computer science electives chosen from 300-level courses (not more than 4 credits taken in courses cross-listed between computer science and another discipline) |
|
| CPS403 | Computers and Society |
| CPS491, 492 | Senior Seminar: Software Engineering I, II |
| One of the following (students contemplating a second major in chemistry, mathematics or physics should choose MA141): |
|
| MAT134 | Survey of Calculus |
| MAT141 | Calculus I |
| MAT229 | Discrete Mathematics for Computer Science (students also majoring in mathematics may substitute MAT231 for MAT229) |
| One of the following: | |
| MAT232 | Linear Algebra |
| MAT318 | Probability |
| MAT338 | Number Theory |
| One of the following two-course sequences: |
|
| PHY121, 122 | Introductory Physics I, II |
| CHE111, 112 | Principles of Chemistry I, II |
| BIO150, 151 | Biology I, II |
Students must also carry out a senior project (approved in advance by the department) in which they demonstrate the ability to apply classroom learning to an actual computer application or research project of significant size. This requirement is normally fulfilled in conjunction with the seminar; however, in some cases the senior project requirement may be fulfilled, at the discretion of the department, through an appropriate co-op placement.
Honors in Computer Science
Seniors who research and write an honors thesis will be eligible to graduate with honors in computer science. Under the direction of a faculty advisor, candidates will carry out research in an area not covered by existing courses culminating in a significant honors thesis, which will be defended orally to departmental faculty during the senior year. Normally this will be done in the context of a 2- to 4-credit independent study. The minimum GPA for honors candidates is 3.5 in the major and 3.0 overall. See departmental faculty for details.
Requirements for the Minor in Computer Science
The minor in computer science is intended to help students master the skills needed to develop computer-aided solutions to the problems of their disciplines, while also helping them develop the discernment needed to ensure that technology serves people and not vice versa. In consultation with an advisor from the department, each student will work out a minor program that is relevant to the major field. Such a program will include:
| CPS111 | Introduction to Computer Science |
| CPS112 | Introduction to Programming |
| CPS211 | Object-Oriented Software Development |
| CPS403 | Computers and Society |
Students must also take 8 credits of computer science electives chosen from courses beyond CS211. Not more than 4 credits may be taken in courses cross-listed between computer science and another discipline.