Computer Science (Second Major)
Program Director
William Theisen, Assistant Teaching Professor, Computer Science and Engineering
Program Website
altech.nd.edu
Faculty
The Bachelor of Arts in Computer Science is interdisciplinary by nature and benefits from the scholarly contributions of a large number of Notre Dame faculty representing an array of academic departments.
Program Overview
The Bachelor of Arts degree in Computer Science (BACS) is intended for students who desire a strong liberal arts program with a concentration in computer science. It is suitable for students who expect to apply the principles of computing in a discipline within the humanities, social sciences, or natural sciences, but are not necessarily seeking the specialization that is typically offered in a traditional engineering curriculum. The BACS degree program contains the fundamentals of computer science, including algorithms, structured programming, data structures, programming languages, and software engineering.
Alongside their major in the BACS, students will be required to pick a secondary or supplementary major housed in the College of Arts & Letters to pair with the Computer Science aspect of the program.
Graduates of the Bachelor of Arts in Computer Science will:
- Apply their education in computer science to pose questions in and derive solutions for humanistic, social, and scientific problems.
- Account for ethical and social concerns when solving humanistic, social, and scientific problems.
- Develop knowledge in a secondary cognate area of their choosing.
- Function effectively in a collaborative team and effectively communicate with members of the team.
- Engage in continued education in their field of expertise.
- Attain positions of leadership in their chosen field.
Admission
Students may be admitted directly to the BACS degree upon admission to Notre Dame or students may join the major after a discussion with their advisor and with the program director (William Theisen).
The BACS major requirements are listed below:
- Completion of University Core Curriculum requirements. CSE 10001 may not be used to fulfill the University Science & Technology core requirement, due to its strong similarity in coverage to CSE 20311.
- Completion of College of Arts and Letters requirements.
- Completion of Major-specific mathematics requirements: MATH 10550, MATH 10560, and six or more credits of mathematics coursework from Calculus III (MATH 20550), Linear Algebra (MATH 20610), Introduction to Linear Algebra and Differential Equations (MATH 20580), Probability and Statistics (ACMS 30440), Introduction to Probability (ACMS 30530). Petitions to accept other Math or ACMS courses for this requirement will be considered, but introductory mathematics courses will generally not be approved. Restrictions (e.g., credit cannot be granted for both MATH 20610 and MATH 20580) will apply. Students arriving with transfer credit in MATH 10550 and MATH 10560 must choose at least one math course that satisfies the Quantitative Reasoning requirement in the University Core Curriculum.
- Completion of Computer Science and Engineering coursework (35 credits)
- 23 hours of required courses: Discrete Mathematics (CSE 20110), Fundamentals of Computing (CSE 20311), Data Structures (CSE 20312), Systems Programming (CSE 20289), Theory of Computing (CSE 30151), Design/Analysis of Algorithms (CSE 40113), Ethical and Professional Issues (CSE 40175)
- 12 hours (typically four courses) of CSE electives: All electives must be taken at the 30000 level or higher, and all associated prerequisite requirements must be satisfied. Students are expected to make elective course selections in consultation with their academic advisor, reflecting their interests and, where possible, facilitating intellectual points of contact between computer science and the second major.
- Completion of Secondary Major: A secondary major must be a major or supplementary major in Arts and Letters. Courses in the secondary area must embody an area of knowledge outside of the computing disciplines. Students will be encouraged to explore the places of intellectual contact between the secondary area and CS.
- Thesis: Students are encouraged to develop and execute a senior thesis that explores a topic at the interface between computer science and the secondary area. The thesis should be developed by the student in consultation with one or more faculty mentors (ideally with expertise in CS and the second major) and must be crafted and delivered in accordance with the policies of the College of Arts and Letters.