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.
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:
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 |