The computing revolution is transforming our world in ways we are only beginning to understand, but it is clear that a knowledge of computing is invaluable to any 21st-century citizen. Computer science is the study of the principles of computing: it is founded in the basic skills of programming and problem-solving, but a university education in the subject requires the development of deeper insights into the nature of algorithms, the languages we use to describe them and the machines on which we realize them. In addition to these subjects, students at Willamette have the opportunity to explore advanced topics ranging from 3D graphics to artificial intelligence, from genetic algorithms (in which populations of programs are "bred" for success) to the theoretical foundations of language and computation. Whichever topics they pursue, the Willamette curriculum is designed to provide students with a principled education that will support their goals of life-long learning in a constantly-changing field.
Introductory computing classes at Willamette provide non-majors and pre-majors with a broader perspective on computing, build basic skills which can be applied to other fields and foster the creative use of graphics and animation in collaboration with music and the arts. These classes are designed to synergize with other studies and thus to contribute to a broad liberal-arts education.
The study of computer science opens up a number of options in later life: many graduates with a computer science major or minor find careers in programming, design, consulting or system support. Other choose to deepen their studies in graduate school, ultimately providing contributions to basic research in the field or pursuing influential development opportunities in industry. Finally, some students combine these options, first building up practical work experience in a business or industrial setting and then consolidating these experiences through graduate study.
The University has excellent computing facilities open to students, including both general-access labs with Windows and Macintosh computers and a number of labs with specially-selected equipment to support graphics or laboratory use. Wired access in dorm rooms and a campus-wide wireless network allow students great flexibility in the pursuit of their studies, in communication with family and friends and in general access to the resources of the Internet.
Entering students with a score of five on the Computer Science Advanced Placement exam are awarded credit for CS 141, Introduction to Programming. Students with scores of four should confer with the department about possible credit.
Requirements for the Computer Science Major (11 Credits)
9 credits in Computer Science, 2 in Mathematics
Computer Science Courses:
- CS 141 (QA*) Introduction to Programming (1)
- CS 241 (QA) Data Structures (1)
- CS 495W Senior Seminar in Computer Science I: Prospectus (.5)
- CS 496W Senior Seminar in Computer Science II: Project (.5)
- Two Computer Science credits at the 300 level (2)
- Four additional Computer Science credits at the 300 or 400 level (4)
- MATH 152 and 153, or a higher numbered 1 credit math course (1)
- One additional credit from the following: (1)
- MATH 251W Foundations of Advanced Mathematic
- MATH 163 (QA) Discrete Mathematic