Computer Science (BS)

The CS Major Requirements

The Undergraduate program requires at minimum 62 points (including ENGI E1006 INTRO TO COMP FOR ENG/APP SCI as a prerequisite to the major) and is composed of four basic components:

  • the Computer Science Core (7-8 courses),
  • the Area Foundation Courses (4 courses),
  • the Computer Science Electives (4 courses),
  • and the General Technical Electives (4 courses).

Students are encouraged to work with their faculty adviser to create a plan tailored to fit their goals and interests. The department webpage provides several example programs for students interested in a variety of specific areas in computer science.

Note: All courses toward the CS major must be taken for a letter grade. A maximum of one course worth no more than 4 points passed with a grade of D may be counted toward the major.

Prerequisite to the CS Major

ENGI E1006 INTRO TO COMP FOR ENG/APP SCI. All CS majors should take this course in their first or second semester.

Mathematics Requirements

Calculus Requirement
MATH UN1101CALCULUS I
MATH UN1102CALCULUS II
APMA E2000MULTV. CALC. FOR ENGI & APP SCI
Linear Algebra Requirement
Choose one of the following:
COMPUTATIONAL LINEAR ALGEBRA
LINEAR ALGEBRA
Linear Algebra and Probability 1
Honors Linear Algebra
INTRO TO APPLIED MATHEMATICS
APPLIED MATH I: LINEAR ALGEBRA
Probability/Statistics Requirement
Choose one of the following:
PROBABILITY FOR ENGINEERS
CALC-BASED INTRO TO STATISTICS
INTRODUCTION TO PROBABILITY AND STATISTICS
Linear Algebra and Probability
1

MATH UN2015 Linear Algebra and Probability may simultaneously satisfy both linear algebra and probability/statistics requirements without the need to take additional classes, thus reducing the total number of courses required.

Computer Science Core

COMS W1004Introduction to Computer Science and Programming in Java
or COMS W1007
COMS W3134Data Structures in Java
or COMS W3137 HONORS DATA STRUCTURES & ALGOL
COMS W3157ADVANCED PROGRAMMING
COMS W3203DISCRETE MATHEMATICS
COMS W3261COMPUTER SCIENCE THEORY
CSEE W3827FUNDAMENTALS OF COMPUTER SYSTS

Area Foundation Courses

Choose four of the following:
INTRODUCTION TO DATABASES
FUND-LARGE-SCALE DIST SYSTEMS
PROGRAMMING LANG & TRANSLATORS
OPERATING SYSTEMS I
COMPUTER NETWORKS
Engineering Software-as-a-Service
ADVANCED SOFTWARE ENGINEERING
COMPUTER GRAPHICS
COMPUTER ANIMATION
USER INTERFACE DESIGN
SECURITY I
ANALYSIS OF ALGORITHMS I
INTRO-COMPUTATIONAL COMPLEXITY
ARTIFICIAL INTELLIGENCE
NATURAL LANGUAGE PROCESSING
Computer Vision I: First Principles
COMPUTATIONAL ASPECTS OF ROBOTICS
COMPUTATIONAL GENOMICS
MACHINE LEARNING
COMPUTER ARCHITECTURE
SYSTEM-ON-CHIP PLATFORMS

Computer Science Electives

Any four COMS courses, or jointly offered computer science courses such as CSXX or XXCS courses, that are worth at least 3 points and are at the 3000 level or above.

General Technical Electives

Four General Technical Elective (GTE) courses are required. GTE courses must be worth at least 3 points, at the 3000  level or above, and must be selected from the list of departments below. There are no exceptions.

  • Any SEAS department
  • Astronomy
  • Biomedical Informatics
  • Biological Science
  • Chemistry
  • Earth and Environmental Sciences
  • Ecology, Evolution, and Environmental Biology
  • Mathematics
  • Physics
  • Psychology
  • Statistics
  • Economics

Undergraduate Thesis

A student may, with adviser approval, choose to complete a thesis. A thesis may be used in place of up to 6 points from the Computer Science Electives requirement. A thesis may not be used in place of any Area Foundation Courses. A thesis consists of an independent theoretical or experimental investigation of an appropriate problem in computer science carried out under the supervision of a Computer Science Department faculty member. A formal written report is mandatory and an oral presentation may also be required.

Restrictions

Note: No more than 6 points of individual research, project, or thesis courses (including COMS W3902 UNDERGRADUATE THESIS, COMS W3998 UNDERGRAD PROJECTS IN COMPUTER SCIENCE, COMS W4901 Projects in Computer Science, COMS W6901 , and equivalent project/research courses from other departments) may be applied towards the computer science major. COMS W3999 FIELDWORK cannot be used as a CS elective. No more than one course from each set below may be applied towards the computer science major. 

Advanced Placement

Students who pass the Computer Science Advanced Placement (AP) Exam with a 4 or 5 will receive 3 points of credit and an exemption from COMS W1004 Introduction to Computer Science and Programming in Java.

Computer Science Program

An overview of the degree track in PDF format can be found hereFor program information before Fall 2023, please view the 2022–2023 Bulletin. 

First Year
Semester I
MATH UN1101CALCULUS I 
Choose one of the following Physics courses depending on track: 
INTRO TO MECHANICS & THERMO 
PHYSICS I:MECHANICS/RELATIVITY 
ACCELERATED PHYSICS I 
Choose one of the following Chemistry/Biology courses (taken Semester I or II): 
CHEM UN1403 (or higher)
GENERAL CHEMISTRY I-LECTURES 
ENVIRONMENTAL BIOLOGY I 
EEEB UN2005 (or higher)
 
ENGL CC1010 (taken Semester l or ll)UNIVERSITY WRITING 
ECON UN1105
 - ECON UN1105 (taken Semester l, ll, lll, or lV)
PRINCIPLES OF ECONOMICS 
ENGI E1006 (taken Semester l or ll)INTRO TO COMP FOR ENG/APP SCI 
COMS W1004 or COMS W1007 (taken Semester l or ll)Introduction to Computer Science and Programming in Java 
PHED UN1001 
ENGI E1102 (taken Semester l or ll)THE ART OF ENGINEERING 
Semester II
MATH UN1102CALCULUS II 
Choose one of the following Physics courses depending on track: 
INTRO ELEC/MAGNETSM & OPTCS 
PHYSICS II: THERMO, ELEC & MAG 
ACCELERATED PHYSICS II 
Choose one of the following Chemistry/Biology courses (taken Semester I or II): 
CHEM UN1403 (or higher)
GENERAL CHEMISTRY I-LECTURES 
ENVIRONMENTAL BIOLOGY I 
EEEB UN2005 (or higher)
 
ENGL CC1010 (taken Semester l or ll)UNIVERSITY WRITING 
ECON UN1105
 - ECON UN1105 (taken Semester l, ll, lll, or lV)
PRINCIPLES OF ECONOMICS 
ENGI E1006 (taken Semester l or ll)INTRO TO COMP FOR ENG/APP SCI 
COMS W1004 or COMS W1007 (taken Semester l or ll)Introduction to Computer Science and Programming in Java 
PHED UN1002 
ENGI E1102 (taken Semester l or ll)THE ART OF ENGINEERING 
Second Year
Semester III
APMA E2000
 - APMA E2001
MULTV. CALC. FOR ENGI & APP SCI 
Choose a lab from the following: 
INTRO TO EXPERIMENTAL PHYS-LAB 
INTERMEDIATE LABORATORY WORK 
GENERAL CHEMISTRY LABORATORY 
INTENSVE GENERAL CHEMISTRY-LAB 
PHYSICL-ANALYTICL LABORATORY I 
ECON UN1105
 - ECON UN1105 (taken Semester l, ll, lll, or lV)
PRINCIPLES OF ECONOMICS 
Choose one of the following Required Nontechnical Electives: 
EURPN LIT-PHILOS MASTERPIECS I 
CONTEMP WESTERN CIVILIZATION I 
Major Cultures (3–4)
 
COMS W3134 or W3137Data Structures in Java 
COMS W3203DISCRETE MATHEMATICS 
Semester IV
ECON UN1105
 - ECON UN1105 (taken Semester l, ll, lll, or lV)
PRINCIPLES OF ECONOMICS 
Choose one of the following Required Nontechnical Electives: 
EURPN LIT-PHILOS MASTRPIECS II 
CONTEMP WESTRN CIVILIZATION II 
Major Cultures (3–4)
 
HUMA UN1121 or UN1123MASTERPIECES OF WESTERN ART 
COMS W3157ADVANCED PROGRAMMING 
Linear algebra or probability/statistics requirement (see list of accepted courses)1 
Third Year
Semester V
CSEE W3827FUNDAMENTALS OF COMPUTER SYSTS 
COMS W3261COMPUTER SCIENCE THEORY 
Linear Algebra or Probability/Statistics requirement (see list of accepted courses) 
Tech Electives (6 points) 
Semester VI
Nontech Electives (3 points) 
Tech Electives (12 points) 
Fourth Year
Semester VII
Nontech Electives (6 points) 
Tech Electives (9 points) 
Semester VIII
Nontech Electives (3 points) 
Tech Electives (9 points)