Basic Structure of the Department
- The department offers a Computer Science Major and Minor, a Minor in Digital Arts, a Computational Methods Minor, an Operations Research Minor, a Major modified with Engineering, a Major modified with Digital Arts, and the ability to modify another major with computer science.
- The Computer Science Major is designed for students who want a comprehensive background in computer science. Rather than just teaching you the systems and programming languages of today, a Computer Science Major allows you to be able to learn what you need to know for graduate studies or a professional career.
- A Computer Science major consists of two prerequisites, nine major courses, and a culminating experience. Prerequisite courses are COSC 1 and COSC 10. Of the nine major courses, two must be in the areas of theory and algorithms, two must be in the areas of systems and hardware, two must be in applied computer science, and three are electives. The culminating experience is either an honors thesis (COSC 99) or COSC 98.
- The Computer Science Minor is designed for students who want to complement a different major with a significant background in computer science. A Computer Science Minor consists of two prerequisites and five upper-level courses. Both of the prerequisites are required, but the upper-level courses are any five electives, as long as they are drawn from two different areas and approved by the department's undergraduate advisor.
- The Digital Arts Minor is designed for students who want to bring their talents and skills into the digital arts realm; it teaches the principles, aesthetics, and practice of digital art, modeling, and animation. A Digital Arts Minor consists of one prerequisite and five upper-level courses. Three of the upper-level courses are required, but there are choices for the prerequisite and the remaining two upper-level courses.
- The Computational Methods Minor prepares students to work at the interface of computer science and another discipline, training them in formulating, developing, implementing, and applying computational solutions to domain-specific challenges. A Computational Methods Minor consists of two prerequisite courses, three upper-level computer science courses, and two upper-level courses from the relevant discipline. Most of the requirements offer several choices.
- The Operations Research Minor is offered for students who want to complement a different major with a background in quantitative optimization. An Operations Research Minor consists of five prerequisites and six upper-level courses. Four of the prerequisites and five of the upper-level courses are required, but there are choices for the remaining courses.
- The Computer Science Major modified with Engineering is offered for students who want a background in computer science with a focus on the design of computer systems. This major consists of seven prerequisites, 10 major courses, and a culminating experience. Six of the prerequisites and two of the major courses are required, but there are choices for the remaining courses.
- Computer science can be part of a modified major (frequently with digital arts, engineering, or economics, but also with music, philosophy, psychology, and many other disciplines).
Courses for the Student with Little or No Background Who Wants to Explore Computer Science
- COSC 1 (Introduction to Programming and Computation) is the header course for the major. There are no prerequisites for the course, and it is available to everyone with no enrollment cap. No prior programming experience required or even assumed. In fact, most students who take COSC 1 have never written a computer program before taking the course.
Other Information About Courses and Considerations
- A student who plans on majoring in computer science should, by the end of sophomore year, have taken at least COSC 1 (Introduction to Programming and Computation), and preferably also COSC 10 (Problem Solving via Object-Oriented Programming).
- A student planning on majoring in computer science is also advised to take at least two of the following: COSC 30 (Discrete Mathematics in Computer Science), COSC 31 (Algorithms), COSC 50 (Software Design and Implementation), and COSC 51 (Computer Architecture) by the end of sophomore summer.
- Students may substitute for COSC 1 any of the following: ENGS 20; credit and placement from the Computer Science Advanced Placement exam; credit and placement from the local placement exam.
- The earlier a student starts taking computer science courses, the more flexibility there will be later on.
Current Enrollments, Class Size, and Distributives
The Computer Science home page