Computer Science

Computer Science at NYU Shanghai is designed to create technological leaders with a global perspective, a broad education, and the capacity to think creatively. Computer science focuses on how to design, build, and effectively use the computers and systems that we interact with every day — from the iPhones in our hands to the complex databases in our banks and hospitals and to the self-driving cars of the future. For co-curricular activities and research-related resources in computer science, please refer to the website of the Computer Science, Data Science, and Engineering department.

Requirements for the Major

Students can choose to follow the academic bulletin from the year that they were admitted or a more recent academic bulletin. For example, if you were admitted to NYU Shanghai in Fall 2019, you can choose to follow the academic bulletin 2019-2020, 2020-2021, and 2021-2022.

Planning the Major

To declare the Computer Science major, students must have a final grade of C, or be currently enrolled in the following courses in MATH-SHU 131 Calculus (or pass the "Place out of Calculus" exam) and CSCI-SHU 11 Introduction to Computer Programming (or CSCI-SHU 101 Introduction to Computer Science or pass the "Place out of the 'Introduction to Computer Programming' Exam".

Faculty Mentors

Faculty mentors are the leading faculty and experts in the major disciplines. Students can reach out to faculty mentors for specific questions about the major, and references for connecting with relevant discipline resources. If you have specific questions about specific fields of study within the major, you can search for faculty through the faculty directory.

 

Libhua Xu

Professor of Practice in Computer Science

 
Computer Science FAQs
Why should I major in Computer Science?

What knowledge and skills will students acquire by majoring in Computer Science?

The Bachelor of Science in Computer Science is a rigorous program that not only covers fundamental computer science subjects - such as object-oriented programming, computer architecture, and operating systems – but provides a wide variety of elective courses, spanning artificial intelligence, game programming, natural language processing, information visualization, security and privacy, computer networking, machine learning, and smartphone application development.

What are post-graduation and career opportunities for Computer Science students?

Computer science graduates have a myriad of career paths, including: creating information technology products of the future at large and dynamic companies such as Google, Microsoft, Amazon, Apple or within exciting high-tech startups throughout the world. Entrepreneurship skills combined with computer science prowess can help in creating your own high-tech startup, pursuing careers in business or finance that leverage computer science expertise, or going on to do cutting-edge research in a PhD program. Household names such as Bill Gates, Mark Zuckerberg, Larry Page, Melisa Myers, Robin Li, and Kai-Fu Lee all began in computer science."

Self-learning Modules on Kiwi

Some NYU Shanghai Computer Science courses – such as Introduction to Computer Programming— integrate Kiwi (see instructions), an AI-driven learning platform developed by a research group at NYU Shanghai. NYU Shanghai students enrolled in these courses can review lecture slides and interact with AI for a personalized learning experience. To access Kiwi, please complete the request form.

Double Major in Computer Science Guidelines

Students need to complete more than half of the courses required for the primary and secondary majors to declare their secondary major. No more than two courses may be double-counted between the majors.

Computer Science and Data Science Double Major Policies: 

  • Students matriculating in Fall 2022 or later will NOT be able to double major in Computer Science and Data Science.
  • Students matriculating in Fall 2021 or prior will be able to double major in Computer Science and Data Science. Please note that each major must have at least 7 singly-counted courses and more than two courses may be double-counted between the majors. Please speak with your academic advisor for course planning. 
Research Opportunities

Center for Data Science and Analytics

Deans' Undergraduate Research Fund (DURF)

CS, DS, and Engineering Research Night (2021 recordings & presentation slides; 2022 presentation slides)

Bring your programming skills to professors’ ongoing research projects!

Independent Study

Students majoring in Computer Science are permitted to work on an individual basis under the supervision of a full-time faculty member in the relevant discipline if they have maintained an overall GPA of 3.0 and a GPA of 3.5 in Computer Science and have a study proposal that is approved by a Computer Science faculty. Students can then apply for independent study, which will be reviewed by the faculty member, Computer Science Area Head, Dean, and Academic Affairs.  A 4-credit CS Independent Study class can be used to satisfy one CS major elective requirement. 

Study Away

Study Away Considerations: 

  • Courses:
    • Before studying abroad, students are recommended to complete Introduction to Computer Science, Data Structures, Probability and Statistics, Computer Architecture, and Algorithms. Some advanced-level CS major elective courses may require Probability and Statistics, Linear Algebra, or Machine Learning as course prerequisites.
    • Students are expected to at least complete Data Structures (and ideally, Computer Architecture) before their study away semesters.
    • Students should NOT plan to study away during the senior fallas the CS Senior Capstone is ONLY offered every fall semester in person.
  • Location: Students planning to study away for two semesters are encouraged to spend the first semester in a location other than New York. Applicants who spend the first semester away in another location will receive priority consideration for New York in their second semester away. Students who elect to spend the spring of their junior year in New York (versus the fall of the junior year) will have more earned credit points, thus enabling them to have an earlier registration time and a better chance of enrolling in high-demand courses in spring. 

Study Away Course Registration

Please refer to the Study Away portal- Academics section for specific location-based registration guidelines. Please note that students must follow the prerequisites of the school hosting the course. For example, if Shanghai does not require a course for Class X, but New York does, then you will need to have that required course.  

Python vs. Java

In Shanghai, there are three course sequences: ICP, ICS, and Data Structures (all taught in Python). At NYU CAS, there is the same three-course sequence but teaching ICDS and Data Structures in Java (Fall 2025 update: CAS Data Structure class requires a course taken in Java; NYUSH students taking ICS in Shanghai cannot enroll in CAS's Data Structures class). At NYU Tandon, their three-course sequence is ICP, Data Structure, and Object-Oriented Programming. ICP and Data Structures are taught in Python, and OOP in Java. 

Senior Thesis / Capstone Requirement

In order to comply with accreditation requirements, NYU Shanghai requires all students to complete either a capstone requirement in the form of a senior thesis and/or a required capstone course in the primary major. 

Starting in Fall 2026, the capstone requirement for students pursuing CS as their primary major will be restructured into two options:

Regular Capstone (Course-Extension Option)

  • Students will take an additional elective course with a final project and final paper before senior Spring semester as the major pre-capstone course. This course must be taken in Shanghai. CS primary majors may only take courses from the list below that are marked “Yes” in the “Can Be Extended to Capstone” column to fulfill capstone requirements. (See list here).
  • Students will enroll in a 0-credit capstone course as a placeholder in the senior Spring semester.
  • By enrolling in the 0-credit capstone course, students will extend the final project/paper from the approved pre-capstone course into a more substantial capstone paper and submit it in senior Spring to fulfill the major capstone requirement.

Advanced Capstone (Research-Oriented)

  • 4-credit course offered in the Fall semester of senior year
  • Application required (details will be shared via email every April/May)
  • Enrollment is limited and based on selection

Students who plan to declare Computer Science as a secondary major will be required to take a CS capstone equivalent course to substitute for the CS major 4-credit capstone course requirement (courses from study away sites that have been approved as course equivalents to the listed Shanghai electives may also be used as substitutes for the capstone). 

Library Resources:

Quick Links:

Information for Advisors [Log-in Required]