Button Menu

Computer Science Major & Minors

Computer Science

The most important aspect of Computer Science is problem solving, an essential skill for life. Students study algorithmic processes and the design, development and analysis of software and hardware used to carry out these processes. Since computers are used for a variety of purposes by people in all walks of life, there is a significant human side to computer science as well.

Some graduates choose to continue their studies in graduate or professional school (not necessarily in computer science) before seeking employment. Majors accepting positions upon graduation typically work for companies that provide computing hardware, software or services for use in business, education, government and research.

The department regularly offers Computer Science I and other courses of a more general nature for students interested in surveying key topics in computing. Departmental programs consist of a computer science major and a computer science minor. Most courses provide hands-on computing experience.

Computing facilities include pen-based computer laboratories that are part of the University network. They provide tools for computer science, standard desktop productivity, e-mail and connectivity to the Internet. The department maintains a state-of-the-art laboratory of Linux workstations with high-end servers that provide robust file services and a full array of software development tools. The department also has a computer-based, cooperative-work laboratory and a lounge for use by its majors.

University programs of interest to computer science majors include: Science Research Fellows Program, Information Technology Associates Program and Winter Term internships. Some employment and research opportunities with the department and the Computer Center are available during the year and summer. Finally, the student computer clubs (Association for Computing Machinery and ACM-Women) provide coordinated programs each year.

Data Science

Numerous inquiries today are advanced through finding the story behind the data; frequently, Data Science builds the road from the what to the why. Through an interdisciplinary approach using Statistics, Mathematics, and Computer Science, this program delivers principles, methodology, and guidelines for conducting data analysis by providing tools, values, and insights. Data Science helps prepare students for success in an increasingly data-driven world, enhances analytical and problem-solving skills, and strengthens communication skills.

Course Catalog

Requirements for a major

Computer Science

Total courses required Nine and one-half CSC + MATH 123 + one allied course
Core courses CSC 121, CSC 125, CSC 231, CSC 235, CSC 236, CSC 240, CSC 498
Other required courses Any three CSC courses (except CSC 398 and CSC 498) at the 300 or 400 level
Number 300 and 400 level courses Four including CSC 498
Senior requirement and capstone experience The senior requirement is CSC 498. As a culmination of the computer science major, each senior completes an independent project with credit earned through the course CSC498. Each student describes his or her project idea in a formal project proposal. Projects typically involve the design, implementation, testing and documentation of a software system that builds on earlier coursework both inside and outside the department. Students are mentored by a faculty member and meet regularly in groups to present their work and to discuss related topics such as the ethical implications of their work.
Additional information MATH 123 is also required. MATH 223 may be substituted for MATH 123 with approval of the advisor. Students are required to take one allied course from a list maintained by the department; with approval of the advisor, students may substitute a 300/400 level CSC course for the allied course. Students are encouraged to complete an internship or research experience related to the major. This is not a requirement, however, and no departmental credit is awarded for these experiences. The advisor will offer guidance on selection of courses inside and outside of the department for students who may be interested in focusing on particular areas related to computer science.
Recent changes in major Beginning fall 2024, the core courses include CSC125, CSC235, and CSC236 instead of CSC122, CSC232, and CSC233.
Writing in the Major

Computer scientists must be able to communicate effectively with other computer scientists (e.g., as a member of a team designing a large system, or conveying results of research) and non-computer scientists (e.g., user documentation such as a user manual, or describing a project to a potential investor or customer). Communicating with other people, both orally and in writing, is an essential skill required of all computer scientists. Students majoring in Computer Science develop writing skills across several courses:

  • CSC 125, Principles of Software Development. Students write in the context of a software development project. Some of this writing is to an internal audience consisting of other team members, while other writing is to an external audience consisting of users and/or customers. Internal writing includes design documents, formal program specification, and commented code. External writing includes requirements documents, user interface documentation, and user documentation.
  • CSC 240, Writing in Computer Science. In this .5 credit course students learn to communicate technical and non-technical information about computer science to technical and non-technical audiences. This writing includes communication with users (e.g., user manuals), the general public (e.g., oped pieces related to technical issues), and other non-technical audiences (e.g., legislators, potential investors, customers). Students also develop a project proposal document. Some of the writing in this course deals with ethical and social issues.
  • CSC498, Senior Project. Students propose and complete a project of their choosing. The proposal consists of a written document describing the project and the timeline for completing it. The project itself consists of commented code and other internal documentation as well as user documentation (e.g., a user manual).

Writing assignments will comprise a significant portion of the course grade for each of the above-mentioned courses, and the course grade will reflect students' writing proficiency. Students will meet the Writing in Computer Science requirement by earning credit for CSC 125, Principles of Software Development, CSC240, Writing in Computer Science, and CSC498.

Requirements for a minor

Computer Science

Total courses required Five
Core courses CSC 121 and CSC 125
Other required courses At least two of the courses from: CSC 231, CSC 235, and CSC 236. At least one CSC course at the 300 or 400 level.
Number 300 and 400 level courses One

Data Science

Total courses required 5
Core courses MATH 141 or PSY 214 or ECON 350 or BIO 375, MATH 261 or CSC 370, MATH 341 or ECON 385 or ECON 450, CSC 121,CSC 125.
Other required courses
Number 300 and 400 level courses