# Computer Science Major Requirements

- At least 24 credits from items REQUIRED INTRODUCTORY COURSES to COMPUTER SCIENCE ELECTIVES below, and at least 18 credits from items REQUIRED ADVANCED COURSES and COMPUTER SCIENCE ELECTIVES, must be completed at Stony Brook.
- Completion of the major requires approximately 80 credits.
- All courses in the major must be taken for a letter grade.
- All courses in the major must be completed with a grade of C or higher.

- CSE 114 Introduction to Object-Oriented Programming
- CSE 214 Data Structures
- CSE 215 Foundations of Computer Science or CSE 150 Foundations of Computer Science: Honors
- CSE 216 Programming Abstractions
- CSE 220 System Fundamentals I

Note: CS Honors students may substitute CSE 160, CSE 161 and CSE 260, CSE 261 Computer Science A, B: Honors with labs for CSE 114, 214 and 216.

- CSE 303 Introduction to the Theory of Computation or CSE 350 Theory of Computation: Honors
- CSE 310 Computer Networks
- CSE 316 Fundamentals of Software Development
- CSE 320 Systems Fundamentals II
- CSE 373 Analysis of Algorithms or CSE 385 Analysis of Algorithms: Honors
- CSE 416 Software Engineering

- Four upper-division CSE electives. Technical electives do not include teaching practica (CSE 475), the senior honors project (CSE 495, 496), and courses designated as non-technical in the course description (such as CSE 301).

**AMS 151, AMS 161 APPLIED CALCULUS I, II**

- Note: The following alternate calculus course sequences may be substituted for AMS 151, AMS 161 in major requirements or prerequisites: MAT 125, MAT 126, MAT 127, or MAT 131, MAT 132, or MAT 141, MAT 142 or MAT 171. Equivalency for MAT courses achieved through the Mathematics Placement Examination is accepted to meet MAT course requirements.

- MAT 211 Introduction to Linear Algebra
- AMS 210 Applied Linear Algebra
- AMS 326 Numerical Analysis

- AMS 301 Finite Mathematical Structures
- AMS 310 Survey of Probability and Statistics or AMS 311 Probability Theory or AMS 312 Mathematical Statistics

- At least one of the following natural science courses: BIO 201 or CHE 131 or CHE 152 or PHY 125 or PHY 131 or PHY 141
- Additional natural science courses selected from above and the following list: AST 203, AST 205, BIO 202, BIO 203, BIO 204, CHE 132, CHE 133, CHE 154, CHE 321, CHE 322, CHE 331, CHE 332, GEO 102, GEO 103, GEO 112, GEO 113, PHY 126, PHY 127, PHY 132, PHY 133, PHY 134, PHY 142, PHY 251, PHY 252

**Note**: The courses selected in NATURAL SCIENCE REQUIREMENT 1 and 2 must carry at least 9 credits.The grade point average for the courses in Requirements must be at least 2.00.

**UPPER-DIVISION WRITING REQUIREMENT**

- CSE 300 Technical Communications

All degree candidates must demonstrate technical writing skills at a level that would be acceptable in an industrial setting. To satisfy the requirement, students must pass CSE 300, a course that requires the completion of various writing assignments, including at least one significant technical paper.

Note: All students are encouraged to discuss their program with an undergraduate advisor. In Requirement 2 above, CSE/ESE double majors may substitute ESE 440, ESE 441 Electrical Engineering Design I, II for CSE 416 Software Engineering provided that the design project contains a significant software component. Approval of the Department of Computer Science is required.