º¬Ðß²ÝÑо¿ÊÒ

Requirements

Computer Science Major

The major in computer science consists of at least ten computer science courses and at least one mathematics course, as follows:

Introductory Course1
°ä³§°ä±õÌý1101
Introduction to Computer Science a
´Ç°ùÌý°ä³§°ä±õÌý1103
Accelerated Introduction to Computer Science
Core Courses4
°ä³§°ä±õÌý2101
Data Structures and Advanced Programming I
CSCI 2102 Data Structures and Advanced Programming II
°ä³§°ä±õÌý2200
Algorithms
°ä³§°ä±õÌý2330
Foundations of Computer Systems
Select One Course in Algorithms/Theory b1
°ä³§°ä±õÌý2210
Theory of Computation
CSCI 3220 Logic in Computer Science
°ä³§°ä±õÌý3210
Computational Game Theory
°ä³§°ä±õÌý3250
Computational Geometry
°ä³§°ä±õÌý3225
Algorithms for GIS
Select One Course in Artificial Intelligence b1
°ä³§°ä±õÌý2400
Artificial Intelligence
°ä³§°ä±õÌý3400
Cognitive Architecture
°ä³§°ä±õÌý3465
Financial Machine Learning
°ä³§°ä±õÌý3725
Computational Creativity
°ä³§°ä±õÌý3485
Deep Learning for Computer Vision
Select One Course in Systems b1
°ä³§°ä±õÌý2320
Principles of Programming Languages
°ä³§°ä±õÌý3310
Operating Systems
°ä³§°ä±õÌý3325
Distributed Systems
Select One Projects Course b1
°ä³§°ä±õÌý2715
Human-Computer Interaction
°ä³§°ä±õÌý3225
Algorithms for GIS
°ä³§°ä±õÌý3325
Distributed Systems
°ä³§°ä±õÌý3465
Financial Machine Learning
°ä³§°ä±õÌý3485
Deep Learning for Computer Vision
°ä³§°ä±õÌý3725
Computational Creativity
Select One Elective b1
One additional Algorithms/Theory course
One additional Artificial Intelligence course
One additional Systems course
One additional Projects course
°ä³§°ä±õÌý2350
Social and Economic Networks
Mathematics Requirement1
Select one mathematics course numbered 1300 or higher
Ìý

Computer Science Minor

Ìý
The minor in computer science consists of °ä³§°ä±õÌý2101 Data Structures and Advanced Programming I, plus at least three courses, numbered 2000 or higher. Independent studies in computer science cannot count toward the minor.

Interdisciplinary Major

The department participates in an interdisciplinary major program in computer science and mathematics. See the .

Additional Information and Department Policies º¬Ðß²ÝÑо¿ÊÒ

  • Students interested in majoring in computer science must complete °ä³§°ä±õÌý2101 Data Structures and Advanced Programming I with a letter grade of C- or better by the end of their sophomore year. Prospective majors are also encouraged to satisfy their mathematics requirement as early as possible (ideally in their first two years).
  • Each of the courses required for the major or minor must be taken for a regular letter grade (not Credit/D/Fail) with a minimum earned grade of C-.

  • For all CSCI courses, a grade of C- or better must be earned in the course for it to serve as a prerequisite for another computer science course.

  • Independent Studies and Honors Projects do not count towards the required courses for the major.

  • At most two of the ten computer science courses required for the major, or one of the four computer science courses required for the minor, can be transfer credit from other institutions. Transfer credit cannot be used to fulfill the 3000-level requirement.

  • Majors may double-count one course with another department or program. Minors may not double-count any courses with another department or program.Ìý

  • Advanced Placement and International Baccalaureate scores, in addition to the computer science placement test, are only used for placement.

  • Students—particularly those who intend to do graduate work in computer science—are encouraged to collaborate with faculty on research projects through independent studies, honors projects, and fellowship-funded summer research.

Information for Incoming Students

Students interested in computer science start with one of three courses, based on their computer science and mathematics placement test results:ÌýÌý°ä³§°ä±õÌý1101 Introduction to Computer Science,ÌýÌý°ä³§°ä±õÌý1103 Accelerated Introduction to Computer Science, ´Ç°ùÌýÌý°ä³§°ä±õÌý2101 Data Structures and Advanced Programming I. °ä³§°ä±õÌý1103 Accelerated Introduction to Computer Science covers the same materials as °ä³§°ä±õÌý1101 Introduction to Computer Science, but at an accelerated pace and without a lab section. Placements are binding and may not be overridden without permission of the department.Ìý Students with a placement of °ä³§°ä±õÌý1103 Accelerated Introduction to Computer ScienceÌýshould note that this course is normally offered only in the fall; °ä³§°ä±õÌý1101 Introduction to Computer Science and °ä³§°ä±õÌý2101 Data Structures and Advanced Programming I are offered every semester. Students with a placement of MATHÌý1050 Quantitative Reasoning should complete MATHÌý1050 Quantitative Reasoning before taking a computer science course. Students with a placement ofÌýMATHÌý1600 Differential Calculus should complete MATHÌý1600 Differential Calculus before taking °ä³§°ä±õÌý2101 Data Structures and Advanced Programming I.

Introductory computer science classes regularly fill to capacity, and registration priority is given to first-years. Students are strongly encouraged to take their first computer science course during their first year, when they have priority registration.Ìý Students who intend to pursue a computer science major are required to complete °ä³§°ä±õÌý2101 Data Structures and Advanced Programming I with a letter grade of C- or above by the end of their sophomore year.ÌýÌý

Prior knowledge of computer science is used for placement only and does not count as credit towards the major. Students with any questions about appropriate placement should talk to a member of the department prior to registration.


This is an excerpt from the official º¬Ðß²ÝÑо¿ÊÒ Catalogue and Academic Handbook.