Computer Science Major or Minor
The major in computer science has the following goals:
- To give the broad-based scientific and theoretical training needed as a foundation for a rewarding and successful career in computer science. This includes fundamental conceptual material that transcends current technology and exposure to the best of current practice.
- To foster discipline and orderly thinking that is used by computer scientists to reach insightful and logical understandings.
- To develop the knowledge and skills needed to exchange ideas with colleagues, specialists in other fields, and the general public.
- To acquaint students with the social and ethical implications of computer technology.
Requirements of the major
All majors take two required introductory courses, five required fundamentals courses, and three required mathematics courses.
Each major also chooses one of three possible tracks. These tracks allow majors to emphasize an area of interest. Each track has three required courses associated with it. The systems track emphasizes the hardware and software that embody computer systems. The cognitive track emphasizes the relationship between computation and intelligence, as embodied in humans, animals, and machines. The mathematics track emphasizes the relationship between computer science and mathematics.
Each major must choose two additional elective courses from CS courses numbered 300 or higher.
Majors must include at least one semester of a lab science toward completing their core requirement in the natural sciences.
Students who are interested in double majoring in computer science and mathematics should meet with either the chair of mathematics or the program director of computer science about course reductions.
| Required Introductory Courses |
(2 courses -
8 credits) |
CS 141 Introduction to Computer
Science and Programming I |
(four credits) |
CS 142 Introduction to Computer
Science and Programming II |
(four credits) |
| |
|
| Required Fundamentals Courses |
(5 courses -
15 credits) |
| CS 232 Data Structures |
|
| CS 221 Computer Organization and Assembler |
|
| CS/MA 231 Discrete Mathematics |
|
| CS/MA 342 Theory of Computation |
|
| CS 353 Principles of Compiler Design |
|
| |
|
| One Set of Required Track Courses |
(3 courses -
9 credits) |
| (a) Systems track courses |
|
- CS 322 Computer Architecture
|
|
- CS 331 Operating Systems
|
|
- CS 354 Theory of Programming Languages
|
|
| (b) Cognitive track courses |
|
- CS 343 Analysis of Algorithms
|
|
- CS 355 Artificial Intelligence
|
|
- CS 391 Cognitive Science Seminar
|
|
| (c) Mathematics track courses |
|
- CS 343 Analysis of Algorithms
|
|
- MA 217 Applied Statistics
|
|
- CS/MA 377 Numerical Analysis
|
|
| |
|
| Electives* |
(2 courses -
6 credits) |
| CS 322 Computer Architecture |
|
| CS 324 Microprocessors |
|
| CS 331 Operating Systems |
|
| CS 343 Analysis of Algorithms |
|
| CS 351 Database Management System Design |
|
| CS 354 Theory of Programming Languages |
|
| CS 355 Artificial Intelligence |
|
| CS 391 Cognitive Science Seminar |
|
| * With permission of the director, systems track students may take an engineering course, including CR 245 Digital Design I and lab, CR 246 Digital Design II, CR 320 Computer Networks, or CR 325 Computer Graphics, as one of their electives. |
| |
|
| Required Mathematics Courses |
(3 courses -
11 credits) |
| MA 171 Differential Calculus |
(four credits) |
| MA 172 Integral Calculus |
(four credits) |
| MA 235 Linear Algebra |
|
| Note: Evening courses and courses offered through Fairfield University's School of Engineering may not be used toward the computer science major without the written permission of the director of the computer science program. |
Typical Timeline for Majors
| |
Credits
|
| |
Fall
|
Spring
|
| First Year |
|
|
CS 141-142 Introduction to Computer
Science and Programming |
4
|
4
|
| MA 171-172 Differential/Integral Calculus |
4
|
4
|
| |
|
|
| Sophomore Year |
|
|
| CS 232 Data Structures |
3
|
|
| CS 231 Discrete Mathematics |
3
|
|
CS 221 Computer Organization
and Assembler |
|
3
|
| MA 235 Linear Algebra |
|
3
|
| |
|
|
| Junior Year |
|
|
| CS 342 Theory of Computation |
|
3
|
| CS track or elective courses |
6
|
3
|
| |
|
|
| Senior Year |
|
|
| CS 353 Principles of Compiler Design |
3
|
|
| CS track or elective courses |
3
|
3
|
| |
|
|
Minor in Computer Science
To earn a 17-credit minor in computer science, students complete:
- CS 141 Introduction to Computer Science and Programming I
(4 credits)
- CS 142 Introduction to Computer Science and Programming II
(4 credits)
- CS 221 Computer Organization and Assembler
- CS 232 Data Structures
- One additional CS course numbered 300 or higher.
Internships
The internship program provides computer science majors with an opportunity to gain practical, career-related experience in a variety of supervised field settings. Internships can be in any one of a number of areas, such as software applications or hardware applications. Internships may be for one or two semesters. Interns are expected to work a minimum of 10 hours per week on-site and complete the required academic component specified by the faculty advisor. An internship may not replace a computer science elective to fulfill the requirement for a major in computer science. |