Quick Navigation

Undergraduate Program

Undergraduate Emphasis Comparisons and Course Requirements


The following assumes that a student is following the most current catalog .

Overview of the Three Computer Science Emphases

All three emphases—Software Development, Enterprise Software, and Computational Software—concentrate on the skills needed to be a software developer, including programming in several languages, database management, and software engineering. All three emphases require the same nine core computer science courses, along with either an additional required course and/or Computer Science electives, depending on which emphasis is pursued. Coursework includes instruction in various languages (e.g., C++, Java, IBM Assembler, PHP, JavaScript, Perl, etc.), software engineering, security, databases, development environments (e.g., .NET), and operating systems (e.g., UNIX, Windows, and IBM’s z/OS). Extra-departmental requirements vary by emphasis. The following summarizes the differences between the three emphases, with exact course requirements shown in the table below:

  • Software Development: Concentrates only on computer science classes, taking three elective courses within the department. Software Development majors are well-prepared for software development careers in virtually any industry.

  • Enterprise Software: Requires CSCI 465: Enterprise Application Environments. Extra-departmental requirements include three business courses. An Enterprise Software major typically programs business applications and is well-posiitoned to start an MBA degree program or move into management later in their carreer. Additionally, an Enterprise Software major is well-positioned to get a Minor in Business Administration or a Minor in Business Innovation and Entrepreneurship, as the required business courses along with well-chosen general education courses may double-dip to help satisfy those minors. For the Entrepreneurship Minor, we recommend that you contact the Entrpreneurship Minor advisor in the Department of Management as soon as you decide to puruse that minor.

  • Computational Software: Requires CSCI 462: Foundations of Computer Science. Extra-departmental requirements include a course in physics, at least seven mathematical courses, and a calculus-based statistics course. The Computational Emphasis requirements also satisfy the requirements for a minor in Mathematics after the student declares it with the Department of Mathematics. Some will double major in Mathematics instead. A Computational Software major generally goes on to graduate school or takes a position in mathematical programming, such as in research or in Actuarial Sciences.

Changing your emphasis can be promblematic because of extra-departmental requirements (business courses for Enterprise and mathematics courses for Computational); they could end up delaying graduation if not started fairly early in a student's program. Transfer students who have completed all of their distributed studies/general education courses can make use of those extra-departmental requirements for Enterprise and Computational Emphases to be full time students every semester, if they are required to be, since the typical Computer Science major will only take two Computer Sciences courses per semester.

A student contemplating graduate work at an institution other than NIU should include MATH 229, MATH 230, MATH 232, MATH 240, and STAT 350 in his or her program of study, regardless of the emphasis choosen.

Comparison of Course Requirements for the Three Emphases

As mentioned above, many of the course requirements for the Computer Science major are shared among all three emphases. Those courses are

  • CSCI 240: Computer Programming in C++
  • CSCI 241: Intermediate Programming
  • CSCI 330: UNIX and Network Programming
  • CSCI 340: Data Structures and Algorithm Analysis
  • CSCI 360: Computer Programming in Assembler Language
  • One CSCI 300-499 Elective Course
  • CSCI 463: Computer Architecture
  • CSCI 466: Databases
  • CSCI 467: Introduction to Software Engineering
  • CSCI 480: Principles of Operating Systems
  • MATH 206: Discrete Mathematics

The table below summarizes the differences between the three emphases, based upon the 2014-15 Catalog.

Courses for the Computer Science Major


Enterprise Software

Computational Software

CSCI 401 Theory of Computation (previously CSCI 462) --- --- required
CSCI 465 Enterprise Application Environments --- required ---
CSCI 390 and above CSCI electives 2 required 1 required 1 required
Hours required inside department 45-48 hours 46-48 hours 45-47 hours

Extra-departmental Requirements

Choose 1 sequence:
  • MATH 211 Business Calculus, or
  • MATH 229 + 230, Calculus I + 2
1 sequence
1 sequence
MATH 229 + 230
STAT 301 Elementary Statistics OR
STAT 350 Introduction to Probability and Statistics
1 required 1 required STAT 350 required
Choose 1 sequence:
  • ACCY 288 Fundamentals of Accounting
  • ACCY 206 Introductory Financial Accounting +
    ACCY 207 Introductory Cost Management
--- required ---
Choose either UBUS 310 Business Core (for business majors only) or choose 2 of the following:
  • FINA 320 Principles of Finance
  • MKTG 310 Principles of Marketing
  • MGMT 320 Foundations of Business and Entrepreneurship
  • MGMT 327 Creativity, Innovation, and Entrepreneurship
  • MGMT 333 Principles of Management
--- required ---
MATH 232 Calculus III and MATH 240 Linear Algebra --- --- required
Choose 2:
  • MATH 434 Numerical Linear Algebra
  • MATH 435 Numerical Analysis
  • MATH 444 Linear Programming and Network Flows
  • STAT 473 +473A Statistical Methods and Models
--- --- required
PHYS 253 Fundamentals of Physics I: Mechanics --- --- required
Hours required outside department 9-15 hours 18-27 hours 32-33 hours
Total hours required 54-63 hours 64-75 hours 77-80 hours

Students Seeking a Second Undergraduate Degree

Many students who already have an undergraduate degree but who are contemplating additional education assume that the best path is to get a second undergraduate degree. While this is certainly possible, it is probably better to pursue a Master’s degree in computer science. A Master’s degree, even if a student has no background in computer science, will take no longer, cost no more, and will prepare you for jobs that are often more interesting, command higher salaries, and usually offer a better career advancement path. Our M.S. program may be the perfect fit for you.

Please see Students Seeking a Second Undergraduate Degree for more information.