Skip to main content
Computer Science


Computer Science (CS) is a discipline that stresses the design, analysis, implementation, management and application of large software systems, as well as systems combining both hardware and software. In the Watson School, we offer a rich set of courses in software design, programming, hardware design and everything in between.

Students begin taking CS courses in their first semester and can specialize in:

  • software systems
  • networking
  • operating systems
  • web-based systems
  • graphics
  • robotics
  • microprocessor-based design
  • game design

Our flexibility in choosing courses also allows students to minor in such areas as the arts, business, math, music, languages or the sciences.

Our accredited program offers degrees at the bachelor's, master's and PhD levels and attracts top researchers in:

  • Computer Architecture (including parallel processing and VLSI systems design)
  • Computer Networks (with a focus on fast networking infrastructures, wireless networking and distributed processing)
  • Grid Computing
  • Image Processing
  • Modern Software Design (especially software specification and verification, object-oriented design)
  • Database and Information Systems (with an emphasis on Web-based information retrieval, heterogeneous query processing, image and multimedia databases)

Educational Mission and Goals

We strive to provide our CS graduates with a firm grounding in the fundamentals of computer science, elements of practical application and an appreciation for liberal learning.

Our degree programs aim for graduates to understand the theory and practice of automating the representation, storage and processing of information. Our goal is to also provide our students the opportunity to pursue individual interests within computer science and/or other disciplines.

Program Educational Objectives

To achieve our program educational goals, graduates of our program will be:

  • Successful in their profession in leadership or supporting positions, in which they exercise and apply their technical computer science background. These positions will utilize their skills in problem-solving and software or systems development.
  • Capable of working well in teams, communicating effectively, and meeting the social and ethical responsibilities of their profession.
  • Engaged in life-long learning relevant to their profession, including earning advanced degrees

Program Educational Outcomes

Students must demonstrate:

  • an ability to apply the principles of computer science to solving problems
  • an ability to design and develop software
  • an understanding of calculus, discrete mathematics, probability and statistics
  • an understanding of automata theory and algorithm analysis
  • an understanding of the principles of computer architecture and operating systems
  • the ability to make effective oral and written presentations on technical topics
  • completion of a broad program of courses in the liberal arts and humanities
  • the ability to learn new material outside the classroom from a variety of sources
  • an understanding of the social and ethical implications of computing

Last Updated: 10/6/17