Computer Science as a field grew out of Electrical Engineering, Mathematics, and Psychology over 50 years ago. It synthesized aspects of these fields and grew exponentially over the past half century, both in terms of the number of computer science practitioners and its economic and social impact on the world.

The field continues its exponential growth.   The Bureau of Labor Statistics report (January 2012) says "computer and mathematical occupations are projected to add 778,300 new jobs between 2010 and 2020, after having added 229,600 new jobs from 2006 to 2010."  The National Association of Colleges and Employers (NACE) Salary Survey 2013 reports that the average starting salary for those graduating with a B.S. in computer science was $64,400 in 2012, up from $62,100 in 2011.  

Given this growth, and the sheer breadth and scale of the computer science enterprise in industry and academia, what are the goals of the Northwestern undergraduate degree? A Northwestern computer science graduate will

  • Comprehend the breadth of computer science, its key intellectual divisions and questions, and its past and likely future impacts on engineering, science, medicine, business, and law;
  • Approach problems from the algorithmic perspective, understanding the nature of and broad reach of computation and how to apply it abstractly;
  • Approach problems from the systems perspective, understand the evolving layers of the software/hardware stack and how to use and extend them;
  • Approach problems from the intelligence perspective, understanding how to make progress against seemingly intractable problems;
  • Design and implement complex software systems, individually and as a team member; and
  • Design and implement effective human-computer interfaces.


Additionally, Northwestern graduates also will have had the opportunity to broaden their education by taking advantage of Computer Science’s strong connections to Northwestern programs in Computer EngineeringCognitive Science, and the Learning Sciences. Northwestern graduates may have also participated in directed research.

A Northwestern graduate will be imminently employable in the computer and software industries, and well beyond, as skills such as these are widely sought after. Our program will also provide effective preparation for graduate studies in Computer Science.

Engineering or Liberal Arts (McCormick or Weinberg)

Northwestern offers computer science degrees within McCormick, the Engineering and Applied Sciences School, and Weinberg, the Arts and Sciences School. The computer science-specific elements/requirements of the two degrees are identical. The McCormick degree offers a background in engineering, while the Weinberg CS degree offers a background in liberal arts. 

Components of the Curriculum

The Northwestern Computer Science Degree is composed of five distinct sets of requirements. Background requirements build up the student’s engineering skills. The Core requirements represent essential knowledge for all computer scientists. The Breadth requirements provide exposure to every critical subfield of Computer Science. The Depth requirements provide the student with the opportunity to learn about two specializations in depth, leading to a project, and perhaps graduate courses and research. The Project requirement gives the student the experience of designing and building a complex software artifac.

Undergraduate Study Manual

Further details of the Computer Science curriculum, including Appendices A and B on how to map to the McCormick or Weinberg frameworks, a prerequisite graph, a project requirement course list, and forms, can be found in the relevant pages within the EECS Undergraduate Study Manual (download from the link in the right column).

NOTE: CS Curriculum forms for 2007-2013 are found under the Forms link at the top of this page.